initramfs-tools has the file /etc/initramfs-tools/modules for adding extra modules to the initial ramdisk. This file also controls their loading order. udev has the file /usr/share/initramfs-tools/scripts/init-top/udev which is treated as if installed as /etc/initramfs-tools/scripts/init-top/udev. Problem is this script loads udev and then *immediately* triggers udev loading modules. Without the udev script initramfs-tools would load the modules specified in /etc/initramfs-tools/modules via the load_modules() shell function. load_modules() is run after the scripts/init-top scripts. The result is udev loads driver modules before ones explicitly specified for loading first. This is critical for hardware which has multiple potential drivers. Of note hardware passthru drivers can drive almost any hardware, but need to be loaded before drivers targetting that device.