Hi,
Thanks for the question!
You're completely right.
Please feel free to report this as a bug on our GitHub repository:
https://github.com/highcharts/highchart ... new/choose
Our Highcharts Maps Developers will take it from there.
When it comes to an easy workaround the easiest thing that comes to my mind is using
dataLabels.formatter and checking for names with typos like this:
https://jsfiddle.net/BlackLabel/L5uy6rcv/
You need to modify this function so that it detects a typo in a name (by looking for '?') and then correcting it to a proper name ('L?ng S?n -> Lang Son).
Unfortunately, I don't see any easier way to fix this as the entire TopoJSON file has '?' in names so it seems to be a problem with an entire map. If you manage to find other TopoJSON of Vietnam with all the proper names please try this out.
Do not hesitate to ask in case you have any more questions.
Kind regards!