I agree that "on the square" is valid English, but there are slight differences in meaning, at least in US English (it may be different for UK English). For example, in US English we can say "on the corner" or "in the corner." Both are correct, but the meanings are a bit different. It's the same thing with "on the bed" and "in the bed."
In this case, if we are going to eat a meal in Times Square, a speaker of US English would not say "we are eating on Times Square," they would say "we are eating in Times Square." If you told someone "I'm eating on Times Square," they would understand what you meant, but it would not sound right.
However, if you were going to eat at a restaurant on Park Avenue, you would use "on" and not "in," and the phrase "we're eating in Park Avenue" would sound wrong.
on the corner refers to outside, e.g. in the city-in the corner to inside, e.g. in the house. the mcdonalds on red square sounds perfectly idiomatic to me. where is the restauarnt? on Dam square. eating in the square sounds like we are having a sandwich out in the open among the pigeons. I had a snack in trafalgar square. is this really different in american english?
I can only say that as a native speaker of US English, the way that most native speakers would say it is "The restaurant is in Times Square." That was why I suggested that "in the square" should be accepted along with "on the square." I am not saying that other ways are wrong, but that "in the square" is correct and should be accepted.
In answer to your question, yes, there is apparently a difference between US and UK English in this case.
It's East Coast thing in the Northeast say New York City area you do a lot of things with the word on you eat on Park Avenue the most famous example is that insane New Jersey New York you get online no where else you get online everywhere else you get in line and I don't mean anything to do with the internet however I do want to point out that nowhere in the United States do we have squares with the exception of Times Square so to say we are having a picnic on at in under over Square makes no sense anyway because no one would say it because it just doesn't exist you you would have dinner on the corner at the beach in the restaurant but there really is no place that's a square