There is a lot here but I think the most important thing is that docker containers should always be disposable. Don’t put any data into the container ever.
All of your data and configuration should be done in volumes. Local disk to inside the container is all you really need.
By doing this you make updating any given docker container easy as just pulling the newest tagged version of the container. If you are using docker and not podman you can use tools like watchtower to do this automatically.
As for what distro, it depends on your goals. Do you want to learn and improve your skills? Stick with Fedora or Rocky or Debian or openSUSE. I recommend learning the command line as you go, but if you want a nice UI openSUSE has Yast which is a very robust tool.
If you want to just have a home NAS but don’t want to learn that’s a different question. In this case if you’re getting a proprietary NAS anyway you could just get one that supports docker (like synology) and kill 2 birds with 1 stone.
If you are doing just local syncs the simplest solution might be rsync.
As for a solution with nice software clients, I use Seafile. Nextcloud is nice but it’s incredibly slow to sync files in my experience.
Another local option might be syncthing.
As for backup I use Rclone to do encrypted backups to GCPs Archive Srorage tier. The price is really good at $0.0012 USD / GB. 1TB of backups is like $1.25 USD per month. Be warned though retrieval costs are high.
That’s insane. I would consider a ipv4 -> ipv6 cloud hosted haproxy style setup if this was my only option.