As the subject indicates - options such as Tailscale or Zerotier aren't what I'm asking about. This is actually more of a basic networking/routing question.
I presently have a physical office server with a static IP. Impressive I know. Additionally I have a subscribed cloud server. I'm playing with moving my services from the physical server to the cloud server - the cloud has a faster CPU, much faster internet, supposedly better backup. Less CPU cores & RAM since I'm not paying much. Anyway - that's the background.
Obviously a MT router (actually, more than one) in my office and I have Wireguard setup. I've also installed Wireguard on the cloud Linux server. I have a few remote sites or RoadWarriors including my Android phone.
Now - some more specifics. My office router WG IP is 10.1.1.1/24. The office LAN for workstations is 192.168.0.0/24. My various remote sites have 10.1.1.x/24 addresses.
I've set my cloud server to 10.1.1.10/24. My remotes & roadwarriors have both servers listed as peers. Because the internet connection is so much faster on the cloud server I want my RoadWarriors to use the cloud server as the gateway to the remote sites (other than the office of course). So I do that by setting the AllowedIPs and individually listing the remote sites as being on the cloud server's connection and the office LAN on the office server's connection.
This seems to work sometimes but not all times. So now I'm wondering - instead of having the two servers configured on the same 10.1.1.x/24 network do I need to have them on separate networks? And therefore if I want the remotes to communicate to both servers they will need two separate IP's for each? The final goal is transparent redundancy and fail-over with optimized speed.