### Summary

Using docker_container_exec's stdin syntax doesn't decrypt vaulted variables.

I was suggested in https://github.com/ansible-collections/community.docker/issues/241 that it's most likely issue with Ansible, not the collection.

### Issue Type

Bug Report

### Component Name

docker_container_exec

### Ansible Version

```console
$ ansible --version
ansible [core 2.11.6]
  python version = 3.9.7 (default, Sep 10 2021, 14:59:43) [GCC 11.2.0]
  jinja version = 3.0.3
  libyaml = True
```


### Configuration

```console
$ ansible-config dump --only-changed
ANSIBLE_NOCOWS(/home/user/.ansible.cfg) = True
CACHE_PLUGIN(/home/user/.ansible.cfg) = jsonfile
CACHE_PLUGIN_CONNECTION(/home/user/.ansible.cfg) = /tmp/ansible-cachedir
CACHE_PLUGIN_TIMEOUT(/home/user/.ansible.cfg) = 5
DEFAULT_GATHERING(/home/user/.ansible.cfg) = smart
DEPRECATION_WARNINGS(/home/user/.ansible.cfg) = False
DIFF_ALWAYS(/home/user/.ansible.cfg) = True
HOST_KEY_CHECKING(/home/user/.ansible.cfg) = False
```


### OS / Environment

- Target: Ubuntu 20.04.3

### Steps to Reproduce

```yaml
    - name: Upload key
      community.docker.docker_container_exec:
        argv:
          - tee
          - secret.json
        container: '{{ docker_id }}'
        stdin: '{{ secret_data | to_json }}'
```

Var file (vaulted value is embedded):

```
secret_data:
  priv_key:
    value: !vault |
        $ANSIBLE_VAULT;1.1;AES256
        1161...
        ....
  pub_key:
    value: some_public_key
```

### Expected Results

Vaulted variable is properly decrypted.

I've tested encryption with:

```
ansible localhost -m ansible.builtin.debug -a var=secret_data -e @all/vars.yml
```

and the syntax is valid (variable is decrypted as expected), but not when using docker collection.

### Actual Results

```console
JSON file which was created consist ansible vault data, not decrypted string.

 below
"value": {"__ansible_vault": "$ANSIBLE_VAULT;1.1;AES256;\n1161...
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
''' Convert the value to JSON '''
    return json.dumps(a, cls=AnsibleJSONEncoder, *args, **kw)
def to_nice_json(a, indent=4, sort_keys=True, *args, **kw):
    '''Make verbose, human readable JSON'''
    return to_json(a, indent=indent, sort_keys=sort_keys, separators=(',', ': '), *args, **kw)
def to_bool(a):
    ''' return a bool for the arg '''
    if a is None or isinstance(a, bool):
        return a
    if isinstance(a, string_types):
        a = a.lower()
    if a in ('yes', 'on', '1', 'true', 1):
        return True
    return False
def to_datetime(string, format="%Y-%m-%d %H:%M:%S"):
    return datetime.datetime.strptime(string, format)
def strftime(string_format, second=None):
    ''' return a date string using string. See https://docs.python.org/3/library/time.html#time.strftime for format '''
    if second is not None:
        try:
            second = float(second)
        except Exception:
            raise AnsibleFilterError('Invalid value for epoch value (%s)' % second)
    return time.strftime(string_format, time.localtime(second))
def quote(a):