No expats should vote in our elections if they are dual citizens and vote in their country of residence. Dual citizenship should not even be allowed.
The problem is, I do not believe the U.S. government even recognizes the concept of 'dual citizenship'. A citizen is a citizen. The government never asks, say Canada, "is person X also a citizen of Canada?" As such, there would be no way to actually enforce that. The only way you could combat 'dual citizenship' would be to have an international registry of citizens of each country that would probably need biometrics in order to cross-check between countries. I'd say that is a 'cure' worse than the disease. A simpler solution would be to simply allow only service members and diplomatic staff to vote through mail-in ballots.