##### SUMMARY
<!--- Explain the problem briefly below -->
with_first_found fails "No file was found when using first_found. ..." even if a file matches search conditions, when an undefined variable is used in files parameter.
This is started after I've upgraded from ansible 2.8 to 2.9, so I suppose it is a bug.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
first_found

##### ANSIBLE VERSION
```paste below
ansible 2.9.10
  config file = None
  configured module search path = ['/Users/afunix/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.9.10/libexec/lib/python3.8/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.4 (default, Jul 14 2020, 02:58:48) [Clang 11.0.3 (clang-1103.0.32.62)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
DEFAULT_VAULT_PASSWORD_FILE(env: ANSIBLE_VAULT_PASSWORD_FILE) = /Users/afunix/.vault
```

##### OS / ENVIRONMENT
Host: macOS 10.15.5
Target: CentOS 7.8


##### STEPS TO REPRODUCE

playbook.yml
```yaml
---
- hosts: all
  roles:
      - test

```

roles/test/tasks/main.yml
```yaml
---
- debug:
      msg: "path: {{role_path}}/vars"

- debug:
    msg: "file: {{ansible_distribution}}-{{ansible_distribution_major_version}}.yml"

- name: Load variables specific for OS family
  include_vars: "{{item}}"
  with_first_found:
    - files:
        - "{{ansible_lsb.id}}-{{ansible_lsb.major_release}}.yml"
        - "{{ansible_distribution}}-{{ansible_distribution_major_version}}.yml"
      paths:
        - "{{role_path}}/vars"

```


roles/test/vars/CentOS-7.yml
```yaml
---
test: test
```


##### EXPECTED RESULTS
ansible-playbook is able to find CentOS-7.yml when running against CentOS 7.8 system, since the file exists.


##### ACTUAL RESULTS
ansible-playbook cannot find CentOS-7.yml when running against CentOS 7.8 system.

The issue goes away once I remove "{{ansible_lsb.id}}-{{ansible_lsb.major_release}}.yml" from files.

Checked ansible -m setup for the host and ansible_lsb is empty.

```paste below
$ ansible-playbook -i inventory playbook.yml 

PLAY [all] *****************************************************************************************************************************************************************************************************

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

TASK [test : debug] ********************************************************************************************************************************************************************************************
ok: [alice] => {
    "msg": "path: /Users/afunix/tmp/ansible-with-first-found/roles/test/vars"
}

TASK [test : debug] ********************************************************************************************************************************************************************************************
ok: [alice] => {
    "msg": "file: CentOS-7.yml"
}

TASK [test : Load variables specific for OS family] ************************************************************************************************************************************************************
fatal: [alice]: FAILED! => {"msg": "No file was found when using first_found. Use errors='ignore' to allow this task to be skipped if no files are found"}

PLAY RECAP *****************************************************************************************************************************************************************************************************
alice                      : ok=3    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   

$ stat /Users/afunix/tmp/ansible-with-first-found/roles/test/vars/CentOS-7.yml
16777220 38020305 -rw-r--r-- 1 afunix staff 0 15 "Jul 20 18:11:55 2020" "Jul 20 18:11:38 2020" "Jul 20 18:11:38 2020" "Jul 20 18:11:38 2020" 4096 8 0 /Users/afunix/tmp/ansible-with-first-found/roles/test/vars/CentOS-7.yml

$ ansible -i inventories/production/hosts -m setup alice | grep ansible_lsb
        "ansible_lsb": {},
```

description: A list of paths in which to look for the files.
        type: list
        elements: string
        default: []
      skip:
        type: boolean
        default: False
        description:
          - When V(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 O(skip=True) will *not* cause the task to skip.
            Tasks must handle the empty list return from the template.
          - When V(False) and C(lookup) or C(query) specifies O(ignore:errors='ignore') all errors (including no file found,
            but potentially others) return an empty string or an empty list respectively.
          - When V(True) and C(lookup) or C(query) specifies O(ignore: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) vs C(query)).
    seealso:
      - ref: playbook_task_paths
        description: Search paths used for relative paths/files.
"""
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