### Summary

When I try to import a vars file that contains spaces with `with_first_found` then it behaves differently if the files are passed via `_term` or via `files`. If the list is passed to `files` then the file will not be found and the task fails.

### Issue Type

Bug Report

### Component Name

first_found

### Ansible Version

```console
$ ansible --version
ansible [core 2.12.2]
  config file = /home/user/.ansible.cfg
  configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /home/user/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.10 (main, Jan 17 2022, 00:00:00) [GCC 11.2.1 20211203 (Red Hat 11.2.1-7)]
  jinja version = 2.11.3
  libyaml = True
```


### Configuration

```console
$ ansible-config dump --only-changed
DEFAULT_LOG_PATH(/home/user/.ansible.cfg) = /home/user/ansible.log
DEFAULT_STDOUT_CALLBACK(/home/user/.ansible.cfg) = yaml
RETRY_FILES_ENABLED(/home/sjakobs/.ansible.cfg) = False
```


### OS / Environment

Fedora 35

### Steps to Reproduce

The following playbook will fail:
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
---
- name: Converge
  hosts: localhost

  tasks:
    - name: load var with space
      include_vars: "{{ item }}"
      with_first_found:
        files:
          - "vars_with space.yml"
    - name: show var
      debug:
        var: foo
```

But commenting the `files` parameter will cause the playbook to succeed. So the following playbook will succeed:
```
---
- name: Converge
  hosts: localhost
 
  tasks:
    - name: load var with space
      include_vars: "{{ item }}"
      with_first_found:
        # files:
          - "vars_with space.yml"
    - name: show var
      debug:
        var: foo
```

### Expected Results

```
PLAY [Converge] *************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************
ok: [localhost]

TASK [load var with space] *************************************************************************************
ok: [localhost] => (item=/home/user/molecule/default/vars_with space.yml)

TASK [show var] *************************************************************************************************
ok: [localhost] => 
  foo: bar

PLAY RECAP *****************************************************************************************************
localhost                  : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=
```

### Actual Results

```console
PLAY [Converge] *********************************************************************************************

TASK [Gathering Facts] *********************************************************************************************
ok: [localhost]

TASK [load var with space] *********************************************************************************************
fatal: [localhost]: FAILED! => 
  msg: No file was found when using first_found.

PLAY RECAP *********************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0 
```
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
type: list
        default: []
      paths:
        description: A list of paths in which to look for the files.
        type: list
        default: []
      skip:
        type: boolean
        default: False
        description:
          - When C(True), return an empty list when no files are matched.
          - This is useful when used with C(with_first_found), as an empty list return to C(with_) calls
            causes the calling task to be skipped.
          - When used as a template via C(lookup) or C(query), setting I(skip=True) will *not* cause the task to skip.
            Tasks must handle the empty list return from the template.
          - When C(False) and C(lookup) or C(query) specifies  I(errors='ignore') all errors (including no file found,
            but potentially others) return an empty string or an empty list respectively.
          - When C(True) and C(lookup) or C(query) specifies I(errors='ignore'), no file found will return an empty
            list and other potential errors return an empty string or empty list depending on the template call
            (in other words return values of C(lookup) v C(query)).
"""
EXAMPLES = """
- name: Set _found_file to the first existing file, raising an error if a file is not found
  ansible.builtin.set_fact:
    _found_file: "{{ lookup('ansible.builtin.first_found', findme) }}"
  vars:
    findme:
      - /path/to/foo.txt
      - bar.txt  # will be looked in files/ dir relative to role and/or play
      - /path/to/biz.txt