Without CONFIG_MODULES=y and some modules to build, the package split will not find /lib/modules/<kernel-version> and errors out. This can happen if the ktype-kmachine match is not found in the linux-yocto meta data, but can also be intentional for certain machines. We need to be able to handle this scenario gracefully.
I forced "#CONFIG_MODULES is not set" into my defconfig and the kernel builds just fine. I confirmed that no modules were build and /lib/* didn't exist in the output yet it packaged successfully. For interest I also tried building perf and that also worked. I think the issue you encountered must have been something else?