### 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
"""remove action plugin only keys"""
    return dict((k, v) for k, v in module_args.items() if k not in ('content', 'decrypt'))
def _walk_dirs(topdir, base_path=None, local_follow=False, trailing_slash_detector=None):
    """
    Walk a filesystem tree returning enough information to copy the files
    :arg topdir: The directory that the filesystem tree is rooted at
    :kwarg base_path: The initial directory structure to strip off of the
        files for the destination directory.  If this is None (the default),
        the base_path is set to ``top_dir``.
    :kwarg local_follow: Whether to follow symlinks on the source.  When set
        to False, no symlinks are dereferenced.  When set to True (the
        default), the code will dereference most symlinks.  However, symlinks
        can still be present if needed to break a circular link.
    :kwarg trailing_slash_detector: Function to determine if a path has
        a trailing directory separator. Only needed when dealing with paths on
        a remote machine (in which case, pass in a function that is aware of the
        directory separator conventions on the remote machine).
    :returns: dictionary of tuples.  All of the path elements in the structure are text strings.
            This separates all the files, directories, and symlinks along with
            important information about each::
                { 'files': [('/absolute/path/to/copy/from', 'relative/path/to/copy/to'), ...],
                  'directories': [('/absolute/path/to/copy/from', 'relative/path/to/copy/to'), ...],
                  'symlinks': [('/symlink/target/path', 'relative/path/to/copy/to'), ...],
                }
        The ``symlinks`` field is only populated if ``local_follow`` is set to False
        *or* a circular symlink cannot be dereferenced.
    """
    
    r_files = {'files': [], 'directories': [], 'symlinks': []}
    def _recurse(topdir, rel_offset, parent_dirs, rel_base=u''):