##### SUMMARY
Delegating a task to another host that uses a different Python interpreter always fails.  This was reported previously (#61002, #63180), but the fix (#64906) does not seem to have resolved the issue.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
discovered_interpreter_python

##### ANSIBLE VERSION
```
ansible 2.9.9
  config file = None
  configured module search path = ['/home/dhatch/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/dhatch/.local/lib/python3.8/site-packages/ansible
  executable location = /home/dhatch/.local/bin/ansible
  python version = 3.8.2 (default, Feb 28 2020, 00:00:00) [GCC 10.0.1 20200216 (Red Hat 10.0.1-0.8)]
```

##### CONFIGURATION
```
```

##### OS / ENVIRONMENT
Control machine: Ansible 2.9.9 on Fedora 32
Host A: CentOS 8
Host B (delegation target): CentOS 7

##### STEPS TO REPRODUCE
This playbook shows that delegating a task to the CentOS 7 machine does not work when the task host is CentOS 8:
```yaml
- hosts: all
  tasks:
  - meta: clear_facts
- hosts: all
  gather_facts: true
  tasks:
  - debug:
      var: discovered_interpreter_python
  - command: 'true'

- hosts: centos-8-host
  tasks:
  - command: 'true'
    delegate_to: centos-7-host
    ignore_errors: true
  
- hosts: centos-8-host
  tasks:
  - command: 'true'
    delegate_to: centos-7-host
    delegate_facts: false
    ignore_errors: true
```

##### EXPECTED RESULTS
The Python interpreter used on the delegation target should be the one discovered for that host, NOT the host of the task itself.


##### ACTUAL RESULTS
```paste below
PLAY [all] *************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************
ok: [centos-7-host]
ok: [centos-8-host]

PLAY [all] *************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************
ok: [centos-7-host]
ok: [centos-8-host]

TASK [debug] ***********************************************************************************************************************************
ok: [centos-8-host] => {
    "discovered_interpreter_python": "/usr/libexec/platform-python"
}
ok: [centos-7-host] => {
    "discovered_interpreter_python": "/usr/bin/python"
}

TASK [command] *********************************************************************************************************************************
changed: [centos-7-host]
changed: [centos-8-host]

PLAY [centos-8-host] *********************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************
ok: [centos-8-host]

TASK [command] *********************************************************************************************************************************
fatal: [centos-8-host -> centos-7-host]: FAILED! => {"changed": false, "module_stderr": "Shared connection to centos-7-host closed.\r\n", "module_stdout": "/bin/sh: /usr/libexec/platform-python: No such file or directory\r\n", "msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error", "rc": 127}
...ignoring

PLAY [centos-8-host] *********************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************
ok: [centos-8-host]

TASK [command] *********************************************************************************************************************************
fatal: [centos-8-host -> centos-7-host]: FAILED! => {"changed": false, "module_stderr": "Shared connection to centos-7-host closed.\r\n", "module_stdout": "/bin/sh: /usr/libexec/platform-python: No such file or directory\r\n", "msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error", "rc": 127}
...ignoring

PLAY RECAP *************************************************************************************************************************************
centos-8-host : ok=8    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=2
centos-7-host : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

```

raise AnsibleActionSkip('check mode is not supported for this task.')
        elif self._task.async_val and self._play_context.check_mode:
            raise AnsibleActionFail('check mode and async cannot be used on same task.')
        
        if self._VALID_ARGS:
            task_opts = frozenset(self._task.args.keys())
            bad_opts = task_opts.difference(self._VALID_ARGS)
            if bad_opts:
                raise AnsibleActionFail('Invalid options for %s: %s' % (self._task.action, ','.join(list(bad_opts))))
        if self._connection._shell.tmpdir is None and self._early_needs_tmp_path():
            self._make_tmp_path()
        return result
    def cleanup(self, force=False):
        """Method to perform a clean up at the end of an action plugin execution
        By default this is designed to clean up the shell tmpdir, and is toggled based on whether
        async is in use
        Action plugins may override this if they deem necessary, but should still call this method
        via super
        """
        if force or not self._task.async_val:
            self._remove_tmp_path(self._connection._shell.tmpdir)
    def get_plugin_option(self, plugin, option, default=None):
        """Helper to get an option from a plugin without having to use
        the try/except dance everywhere to set a default
        """
        try:
            return plugin.get_option(option)
        except (AttributeError, KeyError):
            return default
    def get_become_option(self, option, default=None):