You might be on to something.
My main concern would be "what happens when something goes wrong". Either a DOS attack (e.g. crashing the cell network), someone(s) finding that their vote was flipped, or someone(s) falsely claiming that their vote was flipped.
I suppose short term DOS can be handled by extending the voting period in response, long term can be handled by switching back to paper ballots (with the representative system the delay caused by this shouldn't be too much of an issue).
Failed audits are harder to deal with. If you make the system onymous instead of pseudonymous (at least with respect to the voting authorities) you could solve the problem by having a period after electronic voting in which people could cast paper ballots in person that overrode their electronic vote. Large number of failed audits would have to cause invalidating all plausibly affected votes and be considered equivalent to a DOS attack.
Fake votes also become more of an issue. Right now they are basically handled by the fact that the effort/reward isn't worth the risk, but electronic systems make the effort lower (for large scale attacks), reward greater, and risk negligible (for state sponsored attacks launched without stepping foot in the country). Since I already think you would have to make this sort of system onymous, it is likely possible to mitigate this with validation against other datasets... it also has the advantage that any such attacks need to target state hardware instead of phones, that could plausibly be secured.
I think you're size estimate is too small, 300M voters * 10 bytes/voter = 3GB not MB. But it's still a completely manageable size.
The remaining problem with all this is having the government actually implement it in a satisfactory way. Advocating for it would come with the large risk that the government would do something similar, but which didn't solve fundamental security issues. In this respect advocating for paper voting is much safer.