is_active_sidebar() problem

In this case I would simply check if the slider plugin is activated – so your conditional statement would look like this:

 <?php if ( is_active_sidebar( 'sidebar-hero' ) && 
            is_plugin_active( 'slider-plugin-dir/slider-plugin-base-file.php' ) 
 ) : ?>

wp_get_sidebars_widgets in your case works as expected – it checks for the widgets in wp_options table and keeps the widget because it is still there. It makes sense – deactivating the plugin is not the same as removing the widget and this function is not intended to check for widget’s dependencies.