### Summary

When running user module with `create_home`, the directory is owned by `root:root` and its `create_date` isn't proper (probably the date of something else, created at machine setup)

```
drwxr-xr-x  2 test_user              test_user              4.0K Jul 29 13:07 test_user <- created by 2.11.2
drwxr-xr-x  2 root                   root                   4.0K Jul 15 10:37 test_user_3  <- created by 2.12.0.dev0
```


Fails in
ansible-playbook [core 2.12.0.dev0] 
Works in
ansible-playbook [core 2.11.2.post0] 

I suspect that this is the reason (but can't be sure)
https://github.com/ansible/ansible/commit/2f7e0b84895b4d6816e695b009bf53e78e6aa088



### Issue Type

Bug Report

### Component Name

user

### Ansible Version

```console
$ ansible --version 2.12.0.dev0
```


### Configuration

```console
$ ansible-config dump --only-changed
```


### OS / Environment

Ubuntu 20.04

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Expected Results

Folder is created with user's permissions

### Actual Results

```console
Folder is created with root:root permissions
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
cmd.append(self.ssh_bits)
        cmd.append('-C')
        cmd.append(self.ssh_comment)
        cmd.append('-f')
        cmd.append(ssh_key_file)
        if self.ssh_passphrase is not None:
            if self.module.check_mode:
                self.module.debug('In check mode, would have run: "%s"' % cmd)
                return (0, '', '')
            master_in_fd, slave_in_fd = pty.openpty()
            master_out_fd, slave_out_fd = pty.openpty()
            master_err_fd, slave_err_fd = pty.openpty()
            env = os.environ.copy()
            env['LC_ALL'] = get_best_parsable_locale(self.module)
            try:
                p = subprocess.Popen([to_bytes(c) for c in cmd],
                                     stdin=slave_in_fd,
                                     stdout=slave_out_fd,
                                     stderr=slave_err_fd,
                                     preexec_fn=os.setsid,
                                     env=env)
                out_buffer = b''
                err_buffer = b''
                while p.poll() is None:
                    r, w, e = select.select([master_out_fd, master_err_fd], [], [], 1)
                    first_prompt = b'Enter passphrase (empty for no passphrase):'
                    second_prompt = b'Enter same passphrase again'
                    prompt = first_prompt
                    for fd in r:
                        if fd == master_out_fd: