It doesn't have to be all or nothing. It's not like the only alternative to hard racial restrictions is to have a racial free-for-all (though I'd actually have preferred the game to be every-province-for-itself, but I digress). I've detailed ways before about how they can keep the faction racial balance without having hard racial restrictions. You can give a PvP/PvE bonus for being on the right faction for your race (or a debuff for being on the "wrong" faction). You can separate "off-race" characters into separate instances after reaching some threshold in a zone. You can require a betrayal questline to actually change your alliance. You can restrict changing alliances so that you can only do it once per character, and it must be done at a low level before progressing far in your alliance territory.
For me, the gameplay and story would have more meaning if I'm given freedom to act as I want. It's not like wars don't have turn-coats, and it's not like having turn-coats removes the story and turns the game into an FPS. Besides, the main threat is supposed to be Molag Bal... he's affecting the entire continent and all three alliances are on the same page with him; he needs to go.