### 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
#
#
#
#
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
    name: linear
    short_description: Executes tasks in a linear fashion
    description:
        - Task execution is in lockstep per host batch as defined by C(serial) (default all).
          Up to the fork limit of hosts will execute each task at the same time and then
          the next series of hosts until the batch is done, before going on to the next task.
    version_added: "2.0"
    notes:
     - This was the default Ansible behaviour before 'strategy plugins' were introduced in 2.0.
    author: Ansible Core Team
'''
from ansible import constants as C
from ansible.errors import AnsibleError, AnsibleAssertionError