I think you're missing my point. The auto failover is fine for local machines. But if a server is set for "vote : 0" as you say, it should never become master, this handles DBs in remote DCs. But in the local DC, where I have four machines and the three replicas go down, the last remaining server is *already* primary, shouldn't it *stay* primary?
In general, you can't have it both ways. Either you get automatic
failover or you can control who's primary (or you can get both, but
then you have to handle multiple masters and write conflicts). We
went with auto failover.