Ok, finally I’ve found the reason.
We must ignore sticky posts in WP_Query this way:
$sidebar_related = new WP_Query([
'category__not_in' => [$news->term_id],
'post__not_in' => [$post->ID],
'posts_per_page' => 4,
'post_status' => 'publish',
'ignore_sticky_posts' => '1'
]);
I hope it will help somebody.