Without context, either might be correct
Your suggestions are mostly right but also slightly wrong. “Been” and “gone” are past participles of the verbs “be” and “go” so the emphasis is different.
The verb “be” denotes a state of existence. “He is in his village” would be the simple present tense of “He has been in his village”.
The verb “go” denotes travel. “He goes to his village” would be the simple present tense of “He has gone to his village”.
In the present tense, they are very different. But in the past tense they are almost but not quite the same.
“He has been …” means that at some time in the past he was definitely there but his present whereabouts are unknown - he might still be there, he might be somewhere else.
“He has gone …” means that at some time in the past he was travelling towards but his present whereabouts are unknown. He might still be in transit towards, he might have arrived and still be there, he might have arrived and departed, and, less likely, he might have travelled towards but have gone somewhere else.
With “been” the emphasis is on his pre sense in his village in the past, with “gone” the emphasis is on his travel towards his village in the past. In many situations, it’s a distinction without a difference but in some it might matter.
So, to repeat the headline ,either might be correct depending on context.