text: Title: include_vars module unable to include new var with 'hash_behaviour: merge'
  Body: ### Summary
  
  When using `include_vars` module with `hash_behaviour: merge` it can only merge new keys into already existing hashes.
  So in case when I want to define new hash or include new var along with extending existing in the same file I get an error:
  "failed to combine variables, expected dicts but got a 'NoneType' and a 'AnsibleMapping'"
  
  My ugly workaround is to define empty hashes on playbook level (group/host vars or play vars), and nest non-dict vars into another dict.
  
  Tested on ansible-core 2.15.12, 2.16.12, 2.17.6
  
  ### Issue Type
  
  Bug Report
  
  ### Component Name
  
  include_vars
  
  ### Ansible Version
  
  ```console
  ansible [core 2.17.6]
    config file = /home/krokwen/PycharmProjects/tftc_devops/ansible/ansible.cfg
    configured module search path = ['/home/krokwen/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
    ansible python module location = /home/krokwen/.local/lib/python3.12/site-packages/ansible
    ansible collection location = /home/krokwen/.ansible/collections:/usr/share/ansible/collections
    executable location = /usr/bin/ansible
    python version = 3.12.7 (main, Oct  1 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-3)] (/usr/bin/python3)
    jinja version = 3.1.4
    libyaml = True
  ```
  
  
  ### Configuration
  
  ```console
  ANSIBLE_PIPELINING(<edited>/ansible/ansible.cfg) = True
  CONFIG_FILE() = <edited>/ansible/ansible.cfg
  DEFAULT_HOST_LIST(<edited>/ansible/ansible.cfg) = ['<edited>/ansible/hosts']
  DEFAULT_VAULT_PASSWORD_FILE(<edited>/ansible/ansible.cfg) = <edited>/ansible/.vault_pass
  EDITOR(env: EDITOR) = /usr/bin/nano
  HOST_KEY_CHECKING(<edited>/ansible/ansible.cfg) = False
  
  CONNECTION:
  ==========
  
  local:
  _____
  pipelining(<edited>/ansible/ansible.cfg) = True
  
  paramiko_ssh:
  ____________
  host_key_checking(<edited>/ansible/ansible.cfg) = False
  
  psrp:
  ____
  pipelining(<edited>/ansible/ansible.cfg) = True
  
  ssh:
  ___
  host_key_checking(<edited>/ansible/ansible.cfg) = False
  pipelining(<edited>/ansible/ansible.cfg) = True
  
  winrm:
  _____
  pipelining(<edited>/ansible/ansible.cfg) = True
  ```
  
  
  ### OS / Environment
  
  Fedora 40
  
  ### Steps to Reproduce
  
  `merging_vars/file_a.yml`:
  ```yaml
  hash_a:
    a: qwe
  hash_b:
    a: asd
  ```
  
  `merging_vars/file_b.yml`:
  ```yaml
  hash_a:
    b: ewq
  hash_b:
    b: dsa
  hash_c:
    b: zxc
  var_1: cxz
  ```
  
  play:
  ```yaml
  - name: Reproduce merging bug
    hosts: localhost
    tasks:
      - name: Include merging vars
        ansible.builtin.include_vars:
          file: merging_vars/{{ item }}.yml
          hash_behaviour: merge
        with_items:
          - file_a
          - file_b
    vars:
      hash_a: {}
      hash_b: {}
  ```
  
  ### Expected Results
  
  Expected to get following vars in play namespace:
  ```yaml
  hash_a:
    a: qwe
    b: ewq
  hash_b:
    a: asd
    b: dsa
  hash_c:
    b: zxc
  var_1: cxz
  ```
  
  ### Actual Results
  
  ```console
  TASK [Include grafana org vars] *******************************
  task path: <edited>/ansible/monitoring.yml:23
  fatal: [localhost]: FAILED! => {
      "msg": "failed to combine variables, expected dicts but got a 'NoneType' and a 'AnsibleMapping': \nnull\n{\"b\": \"zxc\"}"
  }
  ```
  
  
  ### Code of Conduct
  
  - [X] I agree to follow the Ansible Code of Conduct