WP_Query doesn’t get sticky post at the top, when used in a page template

You have custom filter in a plugin or in your theme that is messing with WP_Query. Your issue is that something is setting is_home to false. This is not default behavior, by default, is_home should return true in any custom instance of WP_Query.

is_home is one of the contributing factors which is responsible for setting up sticky posts at the top in a query, and if its value is false, you will not get sticky posts moved to the front.

You should deactivate your plugins one by one and check which one is causing the issue. You should also test your code on a bundled theme to eliminate your theme as a possible culprit