### 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
self.home = module.params['home']
        self.expires = None
        self.password_lock = module.params['password_lock']
        self.groups = None
        self.local = module.params['local']
        self.profile = module.params['profile']
        self.authorization = module.params['authorization']
        self.role = module.params['role']
        self.password_expire_max = module.params['password_expire_max']
        self.password_expire_min = module.params['password_expire_min']
        self.umask = module.params['umask']
        if self.umask is not None and self.local:
            module.fail_json(msg="'umask' can not be used with 'local'")
        if module.params['groups'] is not None:
            self.groups = ','.join(module.params['groups'])
        if module.params['expires'] is not None:
            try:
                self.expires = time.gmtime(module.params['expires'])
            except Exception as e:
                module.fail_json(msg="Invalid value for 'expires' %s: %s" % (self.expires, to_native(e)))
        if module.params['ssh_key_file'] is not None:
            self.ssh_file = module.params['ssh_key_file']
        else:
            self.ssh_file = os.path.join('.ssh', 'id_%s' % self.ssh_type)
        if self.groups is None and self.append:
            
            
            module.warn("'append' is set, but no 'groups' are specified. Use 'groups' for appending new groups."
                        "This will change to an error in Ansible 2.14.")
    def check_password_encrypted(self):