The pattern is particularly notable because the Chinese languages (part of the Sino-Tibetan language family), the Korean language (either an isolate, a Korean-Japanese language family, or the Greater Altaic language family) and Vietnamese (part of the Austro-Asiatic language family) are from completely different macro-linguistic language families.
There are historical reasons for this in recorded history. In both Korea and Vietnam, at least, a common pattern was to take the surname of the aristocratic house to which you owed allegiance in the still somewhat feudal era in which surnames were adopted. In Vietnam, some political reversals and turns of fate at critical moments caused members of losing factions to adopt the surnames of winning factions to avoid persecution. I haven't read any accounts of the parallel process in China, but suspect that it is similar.