### Summary

When I run setup module to get Debian 10.7 distribution information, it reported ansible_distribution_version=10. The real version is in /etc/debian_version, which is 10.7.
```
$ ansible 10.117.16.248   -m setup -a "filter=ansible_distribution*"
10.117.16.248 | SUCCESS => {
    "ansible_facts": {
        "ansible_distribution": "Debian",
        "ansible_distribution_file_parsed": true,
        "ansible_distribution_file_path": "/etc/os-release",
        "ansible_distribution_file_variety": "Debian",
        "ansible_distribution_major_version": "10",
        "ansible_distribution_release": "buster",
        "ansible_distribution_version": "10"
    },
    "changed": false
}

$ ansible 10.117.16.248 -m shell -a "cat /etc/os-release"
10.117.16.248 | CHANGED | rc=0 >>
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

$ ansible 10.117.16.248 -m shell -a "cat /etc/debian_version"
10.117.16.248 | CHANGED | rc=0 >>
10.7
```


### Issue Type

Bug Report

### Component Name

setup

### Ansible Version

```console
$ ansible --version
ansible 2.10.4
  config file = /home/qiz/workspace/github/ansible-vsphere-gos-validation/ansible.cfg
  configured module search path = ['/home/qiz/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.6.9 (default, Jan 26 2021, 15:33:00) [GCC 8.4.0]
```


### Configuration

```console
$ ansible-config dump --only-changed
ANSIBLE_SSH_RETRIES(/home/qiz/workspace/github/ansible-vsphere-gos-validation/ansible.cfg) = 5
DEFAULT_CALLBACK_PLUGIN_PATH(/home/qiz/workspace/github/ansible-vsphere-gos-validation/ansible.cfg) = ['/home/qiz/workspace/github/ansible-vsphe
DEFAULT_CALLBACK_WHITELIST(/home/qiz/workspace/github/ansible-vsphere-gos-validation/ansible.cfg) = ['timer']
DEFAULT_HOST_LIST(/home/qiz/workspace/github/ansible-vsphere-gos-validation/ansible.cfg) = ['/home/qiz/workspace/github/ansible-vsphere-gos-vali
DISPLAY_SKIPPED_HOSTS(/home/qiz/workspace/github/ansible-vsphere-gos-validation/ansible.cfg) = False
RETRY_FILES_ENABLED(/home/qiz/workspace/github/ansible-vsphere-gos-validation/ansible.cfg) = False
```


### OS / Environment

Debian 10.7

### Steps to Reproduce

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

```


### Expected Results

I expected to get ansible_distribution_version=10.7 as below not 10.
$ ansible 10.117.16.248   -m setup -a "filter=ansible_distribution*"
10.117.16.248 | SUCCESS => {
    "ansible_facts": {
        "ansible_distribution": "Debian",
        "ansible_distribution_file_parsed": true,
        "ansible_distribution_file_path": "/etc/os-release",
        "ansible_distribution_file_variety": "Debian",
        "ansible_distribution_major_version": "10",
        "ansible_distribution_release": "buster",
        "ansible_distribution_version": "10.7"
    },
    "changed": false
}

### Actual Results

```console
$ ansible 10.117.16.248   -m setup -a "filter=ansible_distribution*"
10.117.16.248 | SUCCESS => {
    "ansible_facts": {
        "ansible_distribution": "Debian",
        "ansible_distribution_file_parsed": true,
        "ansible_distribution_file_path": "/etc/os-release",
        "ansible_distribution_file_variety": "Debian",
        "ansible_distribution_major_version": "10",
        "ansible_distribution_release": "buster",
        "ansible_distribution_version": "10"
    },
    "changed": false
}
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
"""give fake content if it exists, otherwise pretend the file is empty"""
        data = default
        if fname in testcase['input']:
            
            print('faked %s for %s' % (fname, testcase['name']))
            data = testcase['input'][fname].strip()
        if strip and data is not None:
            data = data.strip()
        return data
    def mock_get_uname(am, flags):
        if '-v' in flags:
            return testcase.get('uname_v', None)
        elif '-r' in flags:
            return testcase.get('uname_r', None)
        else:
            return None
    def mock_file_exists(fname, allow_empty=False):
        if fname not in testcase['input']:
            return False
        if allow_empty:
            return True
        return bool(len(testcase['input'][fname]))
    def mock_platform_system():
        return testcase.get('platform.system', 'Linux')
    def mock_platform_release():
        return testcase.get('platform.release', '')
    def mock_platform_version():
        return testcase.get('platform.version', '')
    def mock_distro_name():