My strategy has always been to separate what should be persistent from what shouldn’t be.
On every system I deploy for home or work, I have a tree similar to below
/storage/[local/remote]/[where it is, enclosure, backplane,etc]/[what it is]
E.g
/storage/local/e1/raid/r6a/[this is my mount point] /storage/remote/nfs4/oldserver/[this is my mount point]
I then build all of my workflows off of the assumptions that things go there. Docker containers have a subdirectory in r6a for persistent volumes, etc
Even my containers themselves have a /storage/remote/persistent that I symlink anything to that I care about.
On the desktop side, I tend to physically just mount a second drive or a second partition as a subdirectory of /storage. That way my assumption can always be safe in that if it’s a subdirectory of a mount, my data is safe. If it’s not, it isn’t. It’s also nonstandard, so I can be relatively certain I won’t have conflicts between different distributions.
The main issue I have with submounting system directories like /home is that applications tend to put junk there, and old junk might not be compatible with a newer version of, or different distro. It can make for more effort than it’s worth