### Summary

When using the `copy` module together with `content` arg, wrong file name is printed when `ansible-playbook` is run with `--diff` switch. The file listed as modified is the temporary file in `/tmp` and not the real file name.

The `+++ after` in diff results output lists a temporary file.

### Issue Type

Bug Report

### Component Name

copy

### Ansible Version

```console
$ ansible --version
ansible [core 2.14.1]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/ansible-venv/lib64/python3.9/site-packages/ansible
  ansible collection location = /home/ansible/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/ansible-venv/bin/ansible
  python version = 3.9.14 (main, Nov  7 2022, 00:00:00) [GCC 11.3.1 20220421 (Red Hat 11.3.1-2)] (/home/ansible-venv/bin/python3)
  jinja version = 3.1.2
  libyaml = True
```


### Configuration

```console
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
irrelevant
```


### OS / Environment

EL9

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
---
- name: Test copy with content
  hosts:
    - all
  gather_facts: false
  tasks:
    - name: Copy with content shows wrong file modified
      ansible.builtin.copy:
        dest: /tmp/test
        content: aaa
```


### Expected Results

The file name passed to `copy` in arg `dest` should be listed in the diff line and not a temporary file.

### Actual Results

```console
TASK [Copy with content shows wrong file modified] *************************************************************************************************************
--- before
+++ after: /tmp/.ansible.ansible/ansible-local-332829qqzxldi3/tmpz_qauy37
@@ -0,0 +1 @@
+aaa
\ No newline at end of file
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
if self._used_interpreter is not None:
                interpreter = re.escape(self._used_interpreter.lstrip('!#'))
                match = re.compile('%s: (?:No such file or directory|not found)' % interpreter)
                if match.search(data['module_stderr']) or match.search(data['module_stdout']):
                    data['msg'] = "The module failed to execute correctly, you probably need to set the interpreter."
            
            data['msg'] += '\nSee stdout/stderr for the exact error'
            if 'rc' in res:
                data['rc'] = res['rc']
        return data
    
    def _low_level_execute_command(self, cmd, sudoable=True, in_data=None, executable=None, encoding_errors='surrogate_then_replace', chdir=None):
        '''
        This is the function which executes the low level shell command, which
        may be commands to create/remove directories for temporary files, or to
        run the module code or python directly when pipelining.
        :kwarg encoding_errors: If the value returned by the command isn't
            utf-8 then we have to figure out how to transform it to unicode.
            If the value is just going to be displayed to the user (or
            discarded) then the default of 'replace' is fine.  If the data is
            used as a key or is going to be written back out to a file
            verbatim, then this won't work.  May have to use some sort of
            replacement strategy (python3 could use surrogateescape)
        :kwarg chdir: cd into this directory before executing the command.
        '''
        display.debug("_low_level_execute_command(): starting")