Followed this guide for customizing my initramfs since I use dracut in Archlinux and found these:
The module-setup.sh needs to be located under the new custom module directory, in your example /usr/lib/dracut/modules.d/20vfio/module-setup.sh (or /usr/lib/dracut/modules.d/30vfio/module-setup.sh if you stick to 30 priority)
The dd_dracutmodules+=" vfio " should be add_dracutmodules+=" vfio ".
When executing the dracut command check for a line in info logs (-v not required) which loads the custom module:
[..]
dracut: *** Including module: vfio ***
[..]
To verify after reboot check which modules each GPU has loaded:
sudo lspci -v -d 10de:1e84 | grep -E '(VGA|driver)'
0c:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2070 SUPER] (rev a1) (prog-if 00 [VGA controller])
Kernel driver in use: vfio_pci