Exclude Custom post type from /blog page

you can try this one

function exclude_some_post_type($query) {
    if ( ! is_admin() && $query->is_main_query() ) {
        if ( $query->is_search || is_home() ) {
            // in search page
            $query->set( 'post_type', 'post' );
        }
    }
}
add_action( 'pre_get_posts', 'exclude_some_post_type' );

The function that applied to a pre_get_posts hook will set only default post type (post), and will ignore the other types in search or blog (home) page.

For further reading about pre_get_posts hook, please visit: https://developer.wordpress.org/reference/hooks/pre_get_posts/