### Summary

When I try to use the yum/dnf module to install an RPM from a local file, not from a repo, it fails with a GPG error.

`Failed to validate GPG signature for xyy.rpm`

I've created a simple example here complete with a Vagrant to make it easy to reproduce:

https://github.com/jeffmacdonald/ansible-yum-error



### Issue Type

Bug Report

### Component Name

dnf, yum

### Ansible Version

```console
$ ansible --version

ansible [core 2.11.1]
  config file = None
  configured module search path = ['/Users/jeff.macdonald/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/jeff.macdonald/.pyenv/versions/3.9.5/envs/python3.9.5/lib/python3.9/site-packages/ansible
  ansible collection location = /Users/jeff.macdonald/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/jeff.macdonald/.pyenv/versions/python3.9.5/bin/ansible
  python version = 3.9.5 (default, May 30 2021, 21:26:15) [Clang 12.0.5 (clang-1205.0.22.9)]
  jinja version = 3.0.1
  libyaml = True
```


### Configuration

```console
$ ansible-config dump --only-changed

No output
```


### OS / Environment

Ansible is being run from a Mac (latest) on Rocky Linux 8.3

### Steps to Reproduce

https://github.com/jeffmacdonald/ansible-yum-error

```yaml
---
- name: Install Telegraf
  hosts: all
  tasks:
    - name: install influx gpg key
      become: yes
      rpm_key:
        key: "https://repos.influxdata.com/influxdb.key"
        state: present

    - name: download telegraf RPM
      get_url:
        url: https://dl.influxdata.com/telegraf/releases/telegraf-1.13.4-1.x86_64.rpm 
        dest: /tmp/telegraf-1.13.4-1.x86_64.rpm

    - name: install telegraf packages
      become: yes
      yum:
        name: /tmp/telegraf-1.13.4-1.x86_64.rpm
        state: present
```


### Expected Results

I expect the RPM to install

### Actual Results

```console
TASK [install telegraf packages] ***********************************************
fatal: [node1]: FAILED! => {"changed": false, "msg": "Failed to validate GPG signature for telegraf-1.13.4-1.x86_64"}
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
redhat_rpm_arches = [
            "aarch64", "alphaev56", "alphaev5", "alphaev67", "alphaev6", "alpha",
            "alphapca56", "amd64", "armv3l", "armv4b", "armv4l", "armv5tejl", "armv5tel",
            "armv5tl", "armv6hl", "armv6l", "armv7hl", "armv7hnl", "armv7l", "athlon",
            "geode", "i386", "i486", "i586", "i686", "ia32e", "ia64", "m68k", "mips64el",
            "mips64", "mips64r6el", "mips64r6", "mipsel", "mips", "mipsr6el", "mipsr6",
            "noarch", "pentium3", "pentium4", "ppc32dy4", "ppc64iseries", "ppc64le", "ppc64",
            "ppc64p7", "ppc64pseries", "ppc8260", "ppc8560", "ppciseries", "ppc", "ppcpseries",
            "riscv64", "s390", "s390x", "sh3", "sh4a", "sh4", "sh", "sparc64", "sparc64v",
            "sparc", "sparcv8", "sparcv9", "sparcv9v", "x86_64"
        ]
        name, delimiter, arch = packagename.rpartition('.')
        if name and arch and arch in redhat_rpm_arches:
            return name, arch
        return packagename, None
    def _packagename_dict(self, packagename):
        """
        Return a dictionary of information for a package name string or None
        if the package name doesn't contain at least all NVR elements
        """
        if packagename[-4:] == '.rpm':
            packagename = packagename[:-4]
        rpm_nevr_re = re.compile(r'(\S+)-(?:(\d*):)?(.*)-(~?\w+[\w.+]*)')
        try:
            arch = None
            nevr, arch = self._split_package_arch(packagename)
            if arch: