Remove automatic excerpts only for single posts

It seems to me that your code runs too early, i.e. before WordPress determined what the queried object is, i.e. whether it’s for a single post, a category archive, a search results page, etc.

Such issue could happen if you added the code “just like that” to your theme’s functions file, so try doing it like so instead where I put the code inside a function which is hooked on wp:

add_action( 'wp', function () {
    if ( is_single() && 'post' == get_post_type() ) {
        remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' );
    }
} );