### 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
return True
    def _sanitize_dnf_error_msg_install(self, spec, error):
        """
        For unhandled dnf.exceptions.Error scenarios, there are certain error
        messages we want to filter in an install scenario. Do that here.
        """
        if (
            to_text("no package matched") in to_text(error) or
            to_text("No match for argument:") in to_text(error)
        ):
            return "No package {0} available.".format(spec)
        return error
    def _sanitize_dnf_error_msg_remove(self, spec, error):
        """
        For unhandled dnf.exceptions.Error scenarios, there are certain error
        messages we want to ignore in a removal scenario as known benign
        failures. Do that here.
        """
        if (
            'no package matched' in to_native(error) or
            'No match for argument:' in to_native(error)
        ):
            return (False, "{0} is not installed".format(spec))
        
        
        return (True, error)
    def _package_dict(self, package):