Let us first be clear about the official languages in different states of India.
Refer to the first two tables in this article:
https://en.wikipedia.org/wiki/Languages_with_official_status_in_India
https://en.wikipedia.org/wiki/Languages_with_official_status_in_India
Our first stop is in Punjab, where Punjabi is the official language. Signboards in railway stations are expected to be in English, Hindi as well as the state’s official language if it is not English or Hindi.



We see that “Chhavni” is the word for “Cantonment” in Hindi and Punjabi, although some places use Cantt in these languages.
Now to Uttarakhand, where the official languages are Hindi and Sanskrit. Earlier Urdu was an official language when UK was part of UP. See the old and new signs here:

(Old)

(New). Note the addition and subtraction of languages.
In UP, the official languages are Hindi and Urdu (but not Sanskrit). Now see some newly painted signs:

This is the old sign for Manduadih, a suburb of Varanasi. Recently it was renamed:

Note that both Sanskrit and Urdu are here.
The main station in Varanasi is:

They haven’t thought of adding Sanskrit here. Surely this station is more deserving than Manduadih, which most people outside this area have never heard of.
One more example of old and new:

Old

New. It is not to be confused with the existing Ayodhya:

Here is another city in UP:

Now, what will strike you is that “Chhavni” is the standard word for “Cantonment” in Hindi-speaking states and neighboring states.
Why does the Hindi inscription at Ayodhya Cantt have “Cantt” and the Sanskrit inscription “Chhavni”? Isn’t there any suitable word in Sanskrit?
Finally we visit a few more stations elsewhere in India:



In Southern India, Hindi script could have Chhavni or Cantonment.
And in Bengal and Bangladesh, “Cantonment” is used in Hindi as well as Bengali:



The last one is Chattogram Cantonment.
Stop trying to look for consistency in languages used and in nomenclature. There isn’t any.