### Summary

Trying to unarchive a .zip file with the "exclude" parameter set makes the unarchived files have wrong "owner" and "group".

I am 80% certain this did not happen in 2.9, it does happen in 2.11.

### Issue Type

Bug Report

### Component Name

unarchive

### Ansible Version

```console
$ ansible --version
ansible [core 2.11.5]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/x/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/ansible/lib64/python3.6/site-packages/ansible
  ansible collection location = /home/x/.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/ansible/bin/ansible
  python version = 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
  jinja version = 3.0.2
  libyaml = True
```


### Configuration

```console
$ ansible-config dump --only-changed
I don't think this is relevant.
```


### OS / Environment

CentOS 7

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- name: fail to set owner and group to apache, instead they are root
  unarchive:
    src: https://builds.matomo.org/matomo-latest.zip
    dest: /tmp
    exclude: "How to install Matomo.html"
    group: apache
    owner: apache
    remote_src: true
```


### Expected Results

All files extracted from archive should have owner and group set to "apache".

### Actual Results

```console
Files have owner and group set to "root".
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
pass
class ZipArchive(object):
    def __init__(self, src, b_dest, file_args, module):
        self.src = src
        self.b_dest = b_dest
        self.file_args = file_args
        self.opts = module.params['extra_opts']
        self.module = module
        self.io_buffer_size = module.params.get("io_buffer_size", 64 * 1024)
        self.excludes = module.params['exclude']
        self.includes = []
        self.include_files = self.module.params['include']
        self.cmd_path = None
        self.zipinfo_cmd_path = None
        self._files_in_archive = []
        self._infodict = dict()
    def _permstr_to_octal(self, modestr, umask):
        ''' Convert a Unix permission string (rw-r--r--) into a mode (0644) '''
        revstr = modestr[::-1]
        mode = 0
        for j in range(0, 3):
            for i in range(0, 3):
                if revstr[i + 3 * j] in ['r', 'w', 'x', 's', 't']:
                    mode += 2 ** (i + 3 * j)
        
        return (mode & ~umask)
    def _legacy_file_list(self):