### Summary

The documentation on https://docs.ansible.com/ansible/latest/collections/ansible/builtin/unarchive_module.html states that the module fully supports check-mode.
But the fact is that check-mode is not supported when it concerns a gzipped tar file cfr. https://github.com/ansible/ansible-modules-core/blob/00911a75ad6635834b6d28eef41f197b2f73c381/files/unarchive.py#L591
I was mislead by the '_fully_ supported' and noticed that the step was skipped in check-mode.
Wouldn't it make sense to adapt the documentation accordingly ?


### Issue Type

Documentation Report

### Component Name

https://github.com/ansible/ansible-modules-core/blob/00911a75ad6635834b6d28eef41f197b2f73c381/files/unarchive.py

### Ansible Version

```console
$ ansible --version
ansible [core 2.12.6]
  config file = ansible.cfg
  configured module search path = ['/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.9/dist-packages/ansible
  ansible collection location = /home/<user>/.ansible
  executable location = /usr/local/bin/ansible
  python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
  jinja version = 2.11.3
  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
```


### OS / Environment

Debian 11

### Additional Information

When the documentation is adapted, it is clear for everyone that unarchiving gzipped tar files is not check_mode compatible.

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
try:
        if os.path.getsize(src) == 0:
            module.fail_json(msg="Invalid archive '%s', the file is 0 bytes" % src)
    except Exception as e:
        module.fail_json(msg="Source '%s' not readable, %s" % (src, to_native(e)))
    
    if not os.path.isdir(b_dest):
        module.fail_json(msg="Destination '%s' is not a directory" % dest)
    handler = pick_handler(src, b_dest, file_args, module)
    res_args = dict(handler=handler.__class__.__name__, dest=dest, src=src)
    
    check_results = handler.is_unarchived()
    
    
    if module.check_mode:
        res_args['changed'] = not check_results['unarchived']
    elif check_results['unarchived']:
        res_args['changed'] = False
    else:
        
        try:
            res_args['extract_results'] = handler.unarchive()
            if res_args['extract_results']['rc'] != 0:
                module.fail_json(msg="failed to unpack %s to %s" % (src, dest), **res_args)
        except IOError:
            module.fail_json(msg="failed to unpack %s to %s" % (src, dest), **res_args)
        else:
            res_args['changed'] = True
    
    if check_results.get('diff', False):