OP Languages change depending on how people use them, and I think we can see Mairi as an example of that.
The traditional /classic spelling is Mairi. But there has been a trend in many parts of Scotland to treat Mhairi as a "more Gaelic" spelling of Mairi even though technically it isn't, and to pronounce it 'Marry' (with a long 'a') , the same as Mairi. For example, I believe that the young MP, Mhairi Black, pronounces her name that way.
There is a separate tendency to treat Mhairi (pronounced Varry) as a different name, which it isn't. But - very understandably!! - people whose parents have chosen that name think it is. So a generation - or more - has grown up thinking of the name that way.
Mairi (from the official Scottish Gaelic authority website) is here:
learngaelic.scot/dictionary/index.jsp?abairt=Mairi&slang=both&wholeword=false
You will see that this website includes the "Mhairi" spelling, as a variation of the 'classical Gaelic' Mairi.
To see Mairi changed to Mhairi because of its grammatical function, here is a whole long list of examples here from the same website:
learngaelic.scot/dictionary/index.jsp?abairt=Mhairi&slang=both&wholeword=false
To answer your question, I think that people throughout Scotland use the pronouncation preferred by the person with that name. That's the only polite thing to do.
I think in Gaelic lessons, everyone would take care to be grammatical. And I think older generation Gaelic speakers, talking among themselves, might probably do the same. But in mixed company, speaking English, I think everyone would use the name as the person preferred it.
I know several people from families with a Gaelic-speaking background called Mairi. Most call themselves 'Marry', but one says 'Varry'. No-one is fazed by that.
I think the name well known and liked, not least because of Mairi Hedderwick and her lovely 'Katie Morag' books.