Instead of trying to get the posts AND the category, you should do individual queries for each

    $slides = array();
    $found_posts = array();
    // get the video posts
    $query = new WP_Query(
        array(
            'post_type' => 'videos',
            'posts_per_page' => -1
        )
    );
    if($query->have_posts()){
        while ( $query->have_posts() ) {
            $query->the_post();
            $carousel_slide = 'put your slide content here, so probably an <li> element or something?';
            $found_posts[] = $post->ID;
            $slides[] = $carousel_slide;
        }
        wp_reset_postdata();
    }
    
    // get the video category
    $query = new WP_Query(
        array(
            'category_name' => 'video',
            'posts_per_page' => -1
            'post__not_in' =>  $found_posts,
        )
    );
    if($query->have_posts()){
        while ( $query->have_posts() ) {
            $query->the_post();
            $carousel_slide = 'put your slide content here, so probably an <li> element or something?';
            $slides[] = $carousel_slide;
        }
    
        wp_reset_postdata();
    }
    
    // we should now have all our slides in the $slides array so lets print them out
    
    echo implode('',$slides);