This has worked for me. Can you try it and replace the excluded ID by the id of post you want to exclude.
add_filter( 'pre_get_posts', 'exclude_specific_post_id' );
function exclude_specific_post_id( $query ) {
if ( $query->is_main_query() ) {
$query->set( 'post__not_in', array( 'YOUR_EXCLUDED_POST_ID_HERE' ) );
}
}