get_posts( $args ) return empty data

The whole problem was in WooCommerceCategoryExcluder (old, obsolete and unmaintained) plugin which hooks to pre_get_posts and adds taxonomy query to get_posts() args.

Maybe this investigation helps someone else trying to solve similar problem.