This is going to be controversial but...
Linux is not really suited for the post-apocalitic no-internet world, the way the repositories are built and software is packed (almost nothing is static, a lot of dependencies on other packages everywhere) just makes it really impractical and hard to deal with those scenarios. Flatpak / containers and friends even make this situation worse because you can't easily mirror the repositories and there's no straightforward way of exporting a Flatpak as a solid file that can be shared around and installed everywhere - the current tool for that doesn't account architectures and dependencies very well.
Windows however is a much more solid and good option, yes, it's painful to hear this but in Windows you can get an exe from a friend in a flash drive and it runs as is. Same goes for installers, reinstalling the OS etc. There's only a couple of .net framework installers that will cover dependencies for 99.99% of stuff in a few MB. The same goes for macOS, however it depends on a lot of software signing nowadays and certificates that can expire and you then have a problem.