### Summary

When the _src_ and _dst_ has some inner folders in common, the inner folder has some nested folders in common and some are different, the copy command does not copy the content of the nested inner folder. The problem only happens in _remote_src_ mode

### Issue Type

Bug Report

### Component Name

ansible.builtin.copy

### Ansible Version

```console
ansible 2.10.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/tngo/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/tngo/.pyenv/versions/3.6.8/lib/python3.6/site-packages/ansible
  executable location = /home/tngo/.pyenv/versions/3.6.8/bin/ansible
  python version = 3.6.8 (default, Dec  6 2019, 10:08:19) [GCC 7.4.0]
```


### Configuration

```console
Tested with `-c local`
```


### OS / Environment

N/A

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
# test.yml
- hosts: all
  tasks:
    - copy:
        src: /tmp/src/
        dest: /tmp/dest/
        remote_src: yes
```

```
rm -rf /tmp/src/ /tmp/dest/
mkdir -p /tmp/src/a/b1/c1
ansible-playbook -c local -i localhost, test.yml
tree /tmp/dest/

rm -rf /tmp/src/
mkdir -p /tmp/src/a/b1/c2
mkdir -p /tmp/src/a/b2/c3
ansible-playbook -c local -i localhost, test.yml
tree /tmp/dest/
```


### Expected Results

The folder _/tmp/src/a/b1/c2_ must be copied to _/tmp/dest/a/b1/c2_

### Actual Results

```console
PLAY [all] ***************************************************************************************

TASK [Gathering Facts] ***************************************************************************
[DEPRECATION WARNING]: Distribution Ubuntu 18.04 on host localhost should use /usr/bin/python3, 
but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future 
Ansible release will default to using the discovered platform python for this host. See 
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more 
information. This feature will be removed in version 2.12. Deprecation warnings can be disabled 
by setting deprecation_warnings=False in ansible.cfg.
ok: [localhost]

TASK [copy] **************************************************************************************
changed: [localhost]

PLAY RECAP ***************************************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   



/tmp/dest/
└── a
    └── b1
        └── c1

3 directories, 0 files



PLAY [all] ***************************************************************************************

TASK [Gathering Facts] ***************************************************************************
[DEPRECATION WARNING]: Distribution Ubuntu 18.04 on host localhost should use /usr/bin/python3, 
but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future 
Ansible release will default to using the discovered platform python for this host. See 
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more 
information. This feature will be removed in version 2.12. Deprecation warnings can be disabled 
by setting deprecation_warnings=False in ansible.cfg.
ok: [localhost]

TASK [copy] **************************************************************************************
changed: [localhost]

PLAY RECAP ***************************************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   



/tmp/dest/
└── a
    ├── b1
    │   └── c1
    └── b2
        └── c3

5 directories, 0 files
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
import errno
import filecmp
import grp
import os
import os.path
import platform
import pwd
import shutil
import stat
import tempfile
import traceback
from ansible.module_utils._text import to_bytes, to_native
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.process import get_bin_path
from ansible.module_utils.common.locale import get_best_parsable_locale
from ansible.module_utils.six import PY3
module = None
class AnsibleModuleError(Exception):
    def __init__(self, results):
        self.results = results
def clear_facls(path):
    setfacl = get_bin_path('setfacl')
    
    acl_command = [setfacl, '-b', path]
    b_acl_command = [to_bytes(x) for x in acl_command]
    locale = get_best_parsable_locale(module)
    rc, out, err = module.run_command(b_acl_command, environ_update=dict(LANG=locale, LC_ALL=locale, LC_MESSAGES=locale))
    if rc != 0:
        raise RuntimeError('Error running "{0}": stdout: "{1}"; stderr: "{2}"'.format(' '.join(b_acl_command), out, err))
def split_pre_existing_dir(dirname):