Eu tive o mesmo problema que você teve com os mesmos scripts.
Quando o Ansible reúne fatos, ele disponibiliza várias variáveis para você.
Você pode encontrar seu UUID raiz na variável ansible_cmdline.root.
Aqui está minha configuração de montagem:
mount_devices:
- name: /
src: "{{ ansible_cmdline.root }}"
fstype: ext4
opts: defaults,discard
state: mounted
dump: 0
passno: 0
- name: /etc/network/interfaces.dynamic.d
src: none
fstype: tmpfs
opts: nodev,noexec,nosuid,size=64K
state: mounted
dump: 0
passno: 0
- name: /mnt
src: /dev/disk/azure/resource-part1
fstype: auto
opts: defaults,nobootwait,comment=cloudconfig
state: mounted
dump: 0
passno: 2
- name: /shared
src: no
fstype: cifs
opts: vers=2.1,username=no,password=xyz
state: mounted
dump: 0
passno: 2