##### 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

```

'''Remove a temporary path we created. '''
        if tmp_path is None and self._connection._shell.tmpdir:
            tmp_path = self._connection._shell.tmpdir
        if self._should_remove_tmp_path(tmp_path):
            cmd = self._connection._shell.remove(tmp_path, recurse=True)
            
            
            tmp_rm_res = self._low_level_execute_command(cmd, sudoable=False)
            if tmp_rm_res.get('rc', 0) != 0:
                display.warning('Error deleting remote temporary files (rc: %s, stderr: %s})'
                                % (tmp_rm_res.get('rc'), tmp_rm_res.get('stderr', 'No error string available.')))
            else:
                self._connection._shell.tmpdir = None
    def _transfer_file(self, local_path, remote_path):
        """
        Copy a file from the controller to a remote path
        :arg local_path: Path on controller to transfer
        :arg remote_path: Path on the remote system to transfer into
        .. warning::
            * When you use this function you likely want to use use fixup_perms2() on the
              remote_path to make sure that the remote file is readable when the user becomes
              a non-privileged user.
            * If you use fixup_perms2() on the file and copy or move the file into place, you will
              need to then remove filesystem acls on the file once it has been copied into place by
              the module.  See how the copy module implements this for help.
        """
        self._connection.put_file(local_path, remote_path)
        return remote_path
    def _transfer_data(self, remote_path, data):