I think that Brexit illustrates exactly why you need to be a citizen for elections of that type. It seems unfair to let the large number of other European living in the UK have influence on whether or not the UK was to stay, as they are still guests. Same for government election, you are a valued and wanted guest, but you are still a guest.
The complaint, to me, has some value, because the EU countries are making it fairly hard to chance citizenship. On the one hand, they are also completely free to move, if they don't want to pay taxes to a government they can't vote for, on the other, ensuring that these people has the option to say: I'm planning on staying for a very long time, I provide value, I want to be able to vote, should be a priority.