### 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
TRANSFERS_FILES = True
    def _ensure_invocation(self, result):
        
        
        
        
        
        if 'invocation' not in result:
            if self._play_context.no_log:
                result['invocation'] = "CENSORED: no_log is set"
            else:
                
                
                result['invocation'] = self._task.args.copy()
                result['invocation']['module_args'] = self._task.args.copy()
        if isinstance(result['invocation'], dict):
            if 'content' in result['invocation']:
                result['invocation']['content'] = 'CENSORED: content is a no_log parameter'
            if result['invocation'].get('module_args', {}).get('content') is not None:
                result['invocation']['module_args']['content'] = 'VALUE_SPECIFIED_IN_NO_LOG_PARAMETER'
        return result
    def _copy_file(self, source_full, source_rel, content, content_tempfile,
                   dest, task_vars, follow):
        decrypt = boolean(self._task.args.get('decrypt', True), strict=False)
        force = boolean(self._task.args.get('force', 'yes'), strict=False)
        raw = boolean(self._task.args.get('raw', 'no'), strict=False)
        result = {}
        result['diff'] = []