### Summary

SInce updating to `core 2.11.3` some `ansible_os_family` variables on some servers are being returned as Debian instead of Redhat (Amazon Linux2).



### Issue Type

Bug Report

### Component Name

yum

### Ansible Version

```console
$ ansible --version
ansible [core 2.11.3] 
  config file = /home/russell/repos/ansible/ansible.cfg
  configured module search path = ['/home/russell/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /home/russell/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.9.6 (default, Jun 30 2021, 10:22:16) [GCC 11.1.0]
  jinja version = 3.0.1
  libyaml = True

(Colleague running 2.11.3 version, I am still on 2.9.10 to make testing easier)
```


### Configuration

```console
$ ansible-config dump --only-changed
ANSIBLE_NOCOWS(/home/russell/repos/ansible/ansible.cfg) = False
DEFAULT_ROLES_PATH(/home/russell/repos/ansible/ansible.cfg) = ['/home/russell/repos/ansible/roles', '/home/russell/ansible/roles']
DEFAULT_STRATEGY(/home/russell/repos/ansible/ansible.cfg) = linear
DEFAULT_TIMEOUT(/home/russell/repos/ansible/ansible.cfg) = 30
DEFAULT_VAULT_PASSWORD_FILE(/home/russell/repos/ansible/ansible.cfg) = /home/russell/.vault_pass.txt
HOST_KEY_CHECKING(/home/russell/repos/ansible/ansible.cfg) = False

(Colleague running 2.11.3 version, I am still on 2.9.10 to make testing easier)
```


### OS / Environment

```
$ uname -r
4.14.104-95.84.amzn2.x86_64
```

### Steps to Reproduce

When running a playbook that uses `ansible_pkg_mgr` on ansible version `2.9.10` to a Amazon Linux2 host, `yum` is returned.

When running the same playbook on `core: 2.11.3` to a Amazon Linux2 host `apt` is returned.

Task in question:

```
- name: ensure sudo package is installed
  action:
    module: '{{ ansible_pkg_mgr }}'
    name: '{{ admin_users_sudo_package }}'
    state: present
  when: admin_users_sudo_package is defined```
```

Ran on 2.9.10:

```
TASK [ae.users : debug ansible family] *****************************************************************
ok: [ip-10-80-0-135.us-east-2.compute.internal] => {
    "msg": "family: RedHat"
}
ok: [ip-10-80-0-164.us-east-2.compute.internal] => {
    "msg": "family: RedHat"
}
ok: [ip-10-80-0-71.us-east-2.compute.internal] => {
    "msg": "family: Debian"
}
ok: [ip-10-80-0-211.us-east-2.compute.internal] => {
    "msg": "family: RedHat"
}

TASK [ae.users : ensure sudo package is installed] *****************************************************
ok: [ip-10-80-0-135.us-east-2.compute.internal]
ok: [ip-10-80-0-211.us-east-2.compute.internal]
ok: [ip-10-80-0-164.us-east-2.compute.internal]
ok: [ip-10-80-0-71.us-east-2.compute.internal]

```

Ran on 2.11.3

```
TASK [ae.users : ensure sudo package is installed] ********************************************************************************
ok: [ip-10-18-0-76.us-west-2.compute.internal]
ok: [ip-10-18-0-171.us-west-2.compute.internal]
[WARNING]: Updating cache and auto-installing missing dependency: python-apt
fatal: [ec2-44-225-183-160.us-west-2.compute.amazonaws.com]: FAILED! => {"changed": false, "cmd": "apt-get update", "msg": "[Errno 2] No such file or directory", "rc": 2, "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
```

Host in question:

```
root@x-useast2-es-3[x-useast2]:~$ uname
Linux

root@x-useast2-es-3[x-useast2]:~$ uname -r
4.14.104-95.84.amzn2.x86_64
```

### Expected Results

I expect yum to returned on yum based hosts, not apt.

### Actual Results

```console
[WARNING]: Updating cache and auto-installing missing dependency: python-apt
fatal: [ec2-44-225-183-160.us-west-2.compute.amazonaws.com]: FAILED! => {"changed": false, "cmd": "apt-get update", "msg": "[Errno 2] No such file or directory", "rc": 2, "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}```
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
play=iterator._play,
                                    variable_manager=self._variable_manager,
                                    loader=self._loader,
                                )
                            else:
                                new_blocks = self._load_included_file(included_file, iterator=iterator)
                            display.debug("iterating over new_blocks loaded from include file")
                            for new_block in new_blocks:
                                task_vars = self._variable_manager.get_vars(
                                    play=iterator._play,
                                    task=new_block.get_first_parent_include(),
                                    _hosts=self._hosts_cache,
                                    _hosts_all=self._hosts_cache_all,
                                )
                                display.debug("filtering new block on tags")
                                final_block = new_block.filter_tagged_tasks(task_vars)
                                display.debug("done filtering new block on tags")
                                noop_block = self._prepare_and_create_noop_block_from(final_block, task._parent, iterator)
                                for host in hosts_left:
                                    if host in included_file._hosts:
                                        all_blocks[host].append(final_block)
                                    else:
                                        all_blocks[host].append(noop_block)
                            display.debug("done iterating over new_blocks loaded from include file")
                        except AnsibleError as e:
                            for host in included_file._hosts:
                                self._tqm._failed_hosts[host.name] = True
                                iterator.mark_host_failed(host)
                            display.error(to_text(e), wrap_text=False)
                            include_failure = True