Good question, I'm not sure I know an answer about loading the module for a specific device, most likely it can be done
From my experience, I've found that building
snd_hda_intel in-kernel made things so much smoother to get audio at boot time on the host then be able to get audio when starting the VM.
I usually pass through my onboard audio chipset to the VM i.e
Before (at boot time)
Dwarf linux # lspci -nnk | grep --context=3 1e20
[...]
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
Subsystem: ASRock Incorporation 7 Series/C216 Chipset Family High Definition Audio Controller [1849:8892]
Kernel driver in use:
snd_hda_intel
[...]
After (when starting up the VM)
Dwarf linux # lspci -nnk | grep --context=3 1e20
[...]
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
Subsystem: ASRock Incorporation 7 Series/C216 Chipset Family High Definition Audio Controller [1849:8892]
Kernel driver in use:
vfio-pci
[...]
If you're not against a small kernel rebuilt, I think this might be interesting to try out
Hope this helps !