How “become” works on windows is confusing in general, and with limited and evolving support (doesn’t work for Kerberos, for example?), a documentation section describing how it works for Windows is important.
Further, the current situation is somewhat limited because of the different variables.
I’ll ignore the deprecated vars. So there is, from inventory:
ansible_user, ansible_pass
ansible_become_user, ansible_become_pass, ansible_become_method
Then in the playbook,
remote_user (*** which seems to be a noop on windows ***)
become_user, become_method
And the task
become_user, become_method
Note that for the playbook (play?) and task, there is no equivalent for “ansible_become_pass”.
So a playbook like this (with some “password” vars defined in a vault somewhere) cannot work.