(I seek confirmation and/or clarification on the text below)
When you are running under QEMU, the kernel is specified "externally" (as a command line arg to QEMU - and the file must exist "externally" - i.e., in the host system's file structure) - with the result that the kernel (and any modules associated with that kernel) that is stored inside the "image" are ignored. They (that kernel and modules) play no part in the booting or running of the booted image.
Further, there is no mechanism for loading modules "from the outside" so the effect of all of this is that the running system (in QEMU) cannot use modules. Everything that you need must be in the kernel file proper. The effect of this is, e.g., that Samba doesn't work, because the code for smbfs was not compiled into the kernel.
Normally, this is not a problem, because the modules are only needed for supporting "non-vanilla" hardware - and the machine hardware exposed by QEMU is all very vanilla.