I don't understand your point. The kernel and the modules are related,
kernel A can only (mostly) use modules from /lib/modules/A, so there
is a one-to-one relationship between them.
If you boot kernel A and have a few root fs to choose from, then, in
the current scheme, you have to copy out /lib/modules/A to each and
every such fs (unless you mount it separately). That results in multiple
copies of the same modules across multiple partitions. That has nothing
to do with if kernel != boot or not and when modules are loaded and
unloaded.