I agree with the morality of most of your post and wish that the situation had already been resolved.
I don't understand this sentence though. Is it really such an unusual thing for referendums (or indeed general elections) to be restricted only to citizens? Constitutional referendums are for citizens only even in Ireland, which allows Britons to vote in general elections.
Isn't that, after all, one of the defining features and benefits of citizenship versus other forms of lawful residence?
A fair question. I would say that the fair test for whether someone who has the franchise is that that person has legitimately made a country their permanent home (and perhaps you could also apply some criteria about accepting the rule of law and the way of life in that country). And the problem is that citizenship doesn't always capture that - indeed, in many cases, citizenship can be quite arbitrary in nature.
Looking at the principles of the argument, consider as an example the Rohingya in Burma. They are, by any reasonable criteria, Burmese. They are not immigrants, they have lived in the country for generations. But for reasons that appear to be entirely racist in origin, the Burmese Government has long denied the Rohingya citizenship - which of course means they can't vote in Burmese elections (special arrangements were made in 2010 but subsequently revoked). That's clearly wrong and to my mind shows up the inadequacy in principle of regarding citizenship as the exclusive criteria for voting rights.
Of course, if citizenship was easy to obtain for anyone who was legitimately a permanent resident, then that wouldn't be a problem, and it might then be reasonable to use the citizenship test for voting rights. But, sadly that's not the case in the UK.
I appreciate that the system can be a bureaucratic mess, but citizenship is open to Europeans who have made the UK their long-term home. To my mind, citizenship is the natural and proper status for someone who now considers themselves a permanent part of British society and who wishes to avail of democratic rights. It is up to them whether or not they take it up. If their country of birth prohibits dual citizenship (which is not our fault), then they clearly have a choice to make.
I would say that 'bureaucratic mess' is an understatement. It's not just a mess, but even applying for citizenship is so expensive as to be almost certainly beyond the means of many people (over £1200). And a particular problem with EU citizens is that we've long had a system in which EU citizenship is recognized in its own right (albeit in a more restricted way than national citizenship), in a way that would quite reasonably have given many EU citizens in the UK the impression that their EU citizenship was perfectly adequate for being part of the UK, and so there was no need to go through the expensive bureaucratic nightmare of applying for UK citizenship. To that extent I would say that it was entirely unreasonable to deny EU citizens the right to vote in the referendum - especially when the result would impact their lives far more than the lives of most of those who were allowed to vote. To that extent I would stand by saying that this was a democratic deficit in the conduct of the referendum (although possibly the language in my previous post was too strong given that the numbers aren't huge as a % of the population, though they are significant given the small margin of victory in the referendum). For the sake of clarity, I certainly do NOT think that someone who arrives in the UK 2 weeks before the referendum should be able to vote - I'm talking about those EU citizens who have been living here for many years and have no intention of leaving the UK.
So in the end, I would say your argument would be reasonable if citizenship status did accurately reflect the reality of which country a person is committed to being a part of, but too often, even in the UK, regulations can mean that citizenship becomes little more than an arbitrary test of whether someone has jumped through certain bureaucratic hoops - and that's not a fair test for a moral right to participate in democracy. And in other countries (fortunately not in the UK) it can be even worse, as citizenship can actually end up more like a means of implementing racial or ethnic persecution of minorities.