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

```

mock_task = MagicMock()
        
        mock_connection = MagicMock()
        mock_connection.put_file.return_value = None
        
        play_context = PlayContext()
        
        action_base = DerivedActionBase(
            task=mock_task,
            connection=mock_connection,
            play_context=play_context,
            loader=None,
            templar=None,
            shared_loader_obj=None,
        )
        mock_afd = MagicMock()
        mock_afile = MagicMock()
        mock_mkstemp.return_value = (mock_afd, mock_afile)
        mock_unlink.return_value = None
        mock_afo = MagicMock()
        mock_afo.write.return_value = None
        mock_afo.flush.return_value = None
        mock_afo.close.return_value = None
        mock_fdopen.return_value = mock_afo
        self.assertEqual(action_base._transfer_data('/path/to/remote/file', 'some data'), '/path/to/remote/file')
        self.assertEqual(action_base._transfer_data('/path/to/remote/file', 'some mixed data: fö〩'), '/path/to/remote/file')
        self.assertEqual(action_base._transfer_data('/path/to/remote/file', dict(some_key='some value')), '/path/to/remote/file')