WP_query return more results than SQL query. post_count > found_posts

post_status=”publish” is default yo WP_Query so you not need specified.
As you can see real SQL query is ok.
And all returned results are with status publish.
looks like that only post_modified_gmt > ‘xxx’ is not respect.

Currenly use construction with

 'fields'         => 'ids',

so get only 14 post id’s and next

 foreach($query3->posts as $id) {
                $post = get_post($id);
 // ...

but i don’t know if it is optimal way