Try adding 'suppress_filters' => true
to your query args. Maybe you have a plugin that modifies the queries.
You could also check if the posts out of order (the first one) is a sticky post. Sticky posts by default skip the order queue.
You can disable this by adding 'ignore_sticky_posts' => true
to your query args.