### Summary

Since dnf is not installing the packages when running `dnf download --downloadonly...`, it does not require root access to pull down the rpms. It would be nice if ansible followed the same pattern.

### Issue Type

Feature Idea

### Component Name

dnf

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
    - name: Download RPM's
      dnf:
        name: "{{ item }}"
        state: present
        download_only: yes
        download_dir: "{{ rpms_path }}"
      loop: "{{ rpms }}"
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
installed = self.base.sack.query().installed()
        package_spec = {}
        name, arch = self._split_package_arch(pkg)
        if arch:
            package_spec['arch'] = arch
        package_details = self._packagename_dict(pkg)
        if package_details:
            package_details['epoch'] = int(package_details['epoch'])
            package_spec.update(package_details)
        else:
            package_spec['name'] = name
        if installed.filter(**package_spec):
            return True
        else:
            return False
    def _is_newer_version_installed(self, pkg_name):