"Give it to him, not me."
Translation:यह उसे दो, मुझे नहीं।
Native speaker here
While you are technically correct...
Hindi is a very contextual language. Often the subject or the object can be deciphered from the context or through the various verb forms and don't need to be mentioned to make the sentence grammatically correct.
So, depending on the context
It is alright to say "उसे दो, मुझे नहीं"
But sometimes, it may become important to specify which object you are talking about
Say, you are dividing candy among 3 friends. And you don't like the coconut one, but your 'friend 1' loves it. Now suppose, 'friend 2' is doing the distribution and they pick up the coconut candy.
In that case you will want to emphasize on the specific treat saying यह उसे दो, मुझे नहीं|
I hope this helps a little
Languages don't all have one-to-one mappings for vocabulary; यह means, as I understand it, 'near thing' vs. वह 'far thing'. So yes it can mean 'this', but also 'it', in English those are used differently, but Hindi happens to have the same word for both as long as the thing is 'near'.
No. It should have been accepted. You can report if you see the sentence again.
The choice between यह and वह is very context dependent. You use the former for something you consider 'near' and the latter for something you consider 'far away' (either literally metaphorically. As such, 'it' 'he' and 'she' can be translated as both.