Better than 9/10 times, what you are trying to do will not work, and definitely is not recommended. There are always exceptions to the rules, but generally, doing what you are doing, will not produce happiness.
Even kernel modules, built as modules, require that the kernel blob itself be constructed in such a way so that it is compatible the modules, i.e. a module needs a "socket" to connect to the kernel with, and a kernel that is not built what this "socket" will not have a way to accept the module that was built separately (hence errors like "undefined symbols").
Also, the kernel will, at the *very* least, complain that a module built for "abc" kernel, is not compatible, or is an incompatible format, when you try to use it with kernel "xyz". So kernel "abc" will only be happy with modules built with/for kernel "abc".
I'm not sure what you meant by "v&v" reasons as to not wanting to rebuild the kernel on the machine, but it really is your best bet, and will give less headaches in the long run, to just do it that way