And all the data in your `~/.config`, `~/.cache` will still be in the old format. Linux programs are notoriously bad at handling that kind of things. There is no local data update api like the one provided by android sdk.
i did recently boot a windows machine running windows 10 that i unplugged about 3 years ago. It took about 2 hours to fully update on my crap wired internet, but now works fine. i3-7350k with NVME. I was shocked that everything worked so well, i fully expected to have to boot into something and recover the windows install key and do a full reformat-reinstall.
now if i'd do that with something that had the original release of winten, probably not. But i'd happily boot a win7 machine that was >3 years offline.
Windows isn't any better. I don't have enough Mac experience but I doubt it has some magic bullet.