### Summary

`setup` module displays facts inside `ansible_facts` dict, but with `ansible_` prefix, also `filter` acts on injected variable names instead of facts, expecting `ansible_` prefix.

### Issue Type

Bug Report

### Component Name

setup

### Ansible Version

```console
$ ansible --version
ansible 2.10.8
  config file = /home/username/.ansible.cfg
  configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
```


### Configuration

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


### OS / Environment

Debian testing, FreeBSD 12

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->

```
$ ansible localhost -m setup -a 'filter=date_time'
```

### Expected Results

I expect facts to be named as is when inside `ansible_facts` dict, and with `ansible_` prefix when injected into variable space. Since `setup` module shows results as being inside `ansible_facts` dict, it should not add `ansible_` prefix to them. `filter` parameter should also act on fact names, not on injected variables. (or at least have a clear option for such behavior).

```
$ ansible localhost -m setup -a 'filter=date_time'
localhost | SUCCESS => {
    "ansible_facts": {
        "date_time": {
            "date": "2021-06-07",
            ...
        }
    },
    "changed": false
}
```

### Actual Results

```console
$ ansible localhost -m setup -a 'filter=date_time'
localhost | SUCCESS => {
    "ansible_facts": {},
    "changed": false
}
```
```
$ ansible localhost -m setup -a 'filter=*date_time'
localhost | SUCCESS => {
    "ansible_facts": {
        "ansible_date_time": {
            "date": "2021-06-07",
            ...
        }
    },
    "changed": false
}
```
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
'''Collector that provides a facts with the gather_subset metadata.'''
    name = 'gather_subset'
    _fact_ids = set([])
    def __init__(self, collectors=None, namespace=None, gather_subset=None, module_setup=None):
        super(CollectorMetaDataCollector, self).__init__(collectors, namespace)
        self.gather_subset = gather_subset
        self.module_setup = module_setup
    def collect(self, module=None, collected_facts=None):
        meta_facts = {'gather_subset': self.gather_subset}
        if self.module_setup:
            meta_facts['module_setup'] = self.module_setup
        return meta_facts
def get_ansible_collector(all_collector_classes,