Hi y'all, lead programmer here.
Figured this would be a fine time to stop lurking and step in.
First of all, I agree with all of your concerns about the networking. We are well aware of the complexity of the issue.
Let me just make it clear that we are
not writing our own networking engine here.
For the prototype, we are using Unity's fine RakNet-based engine as a peer-to-peer(ish) solution.
The only central server we are running is therefore Unity's slightly-less-fine-and-extremely-poorly-documented Master Server/Facilitator/Connection Tester triplet, again purely for the prototype -- what we end up using in production is an entirely different discussion.
This system has only the (relatively) simple job of arbitrating the connections between peers, so it sees very little load compared to an actual game server.
We'll see how well this setup actually behaves in wider testing, and at that point we'll certainly consider solutions like Photon and what-have-you, but for now it is having no problems.
Thanks for the tips, much appreciated!