Flashing by SDK Manager ever updates /boot/Image?

I have not followed all you are doing, so is just a general comment on modules, and incomplete for your case…

Any time you change the Image you might have changed the output of uname -r. That Image always looks for modules at “/lib/modules/$(uname -r)/kernel/”. If your old Image and new Image share uname -r, then the old modules will still be there and found, although this might or might not be “a good thing” (will say more below). If your “uname -r” changed, then it guarantees you must install modules to the new location even if the modules themselves are otherwise exactly the same.

Whenever you build a kernel, if you fail to set the CONFIG_LOCALVERSION to match the old one, or if the actual source release version changes, then you are guaranteed “uname -r” will no longer match. There is also a pesky “+” which might show up if the scm_version decides to kick in, but this can be dealt with.

Regarding whether or not it is good to keep the “uname -r”, if you were to build a kernel with the exact configuration of the previously running kernel, then yes, it would be better to just keep all of the old modules and reuse them. If you were doing debugging and the existing modules were stripped, then you might find it useful to install (and overwrite) the existing modules with what is essentially already an exact match…the difference then would be having debug symbols. Or the reverse, have small stripped modules, and unknowingly adding size not necessary for normal operation.

If you were to change a kernel Image configuration such that it only adds modules to an otherwise matching configuration, then it is highly likely that all you need to do is copy the extra modules in place, but I’d do that a single module at a time. I would recommend not using the “... INSTALL_MOD_PATH=/where/ever/Linux_for_Tegra/rootfs/” option directly to the module directory. This will install more than you intended if you are just working on adding new modules. I’d always recommend on installing to a temp location first and looking through to see what is actually going in place. You might look at it and say you want everything, but you might examine it and find it installs far more than you expected.

If you were to instead significantly change the Image configuration, then you would definitely want the uname -r to change. There are dependencies, and when you remove non-module features, you might get lucky and it will work, but it would be logically better to not take that chance and purposely change the CONFIG_LOCALVERSION so your “uname -r” intentionally changes (and then install the full set of modules).

You can of course strip debug symbols and reduce module size at any time. See:
https://forums.developer.nvidia.com/t/why-the-built-modules-based-on-nvidia-official-kernel-source/107328/2