There is no real concept of having a main server and local caching server. Larger setups with multiple servers spread services over many servers, e.g. having different login-points and then connecting to a database-backend and a storage-backend.
The difficulty without master instances is that if during the time, files are changed independently, it can create conflicts. You can see this with your desktop client, when you are off the network, make some changes and during the time someone else modified the file as well.
“Cheap” solution: keep a local copy of the main server. Normally use the main server, when there is an outage, you can get your data from the local copy (which is read-only). And once you are back online, you have to manually reapply the changes.
There are server-less / multiple-server solutions like: git-annex or syncthing. But I don’t know how they handle conflicts. You can even use such a solution to sync a folder on your server, and then use it as external storage to Nextcloud, so users can use it via the Nextcloud interface.
No, syncing multiple Nextcloud servers in this manner is not possible. Certainly would love to use this functionality myself! Might be one day possible through Federated Circles + mirror federated server
In this case you would want to run Nextcloud itself from a well-powered, resiliant location you can would remotely connect to from whatever device. As you note, it is not meant for your use case as it is designed to be on 24/7.
fwiw, nothing stops you from using multiple Nextclouds. Just keep in mind no network = no nextcloud
This is the way. It has been recommended by Nextcloud staff as well. Many past guides on how to set up syncthing as www-data. Solves issues with lack of connectivity as well as managing massive data sets / full system backups. how to syncthing nextcloud at DuckDuckGo