as i “known” only ( might be wrong, and illogical):
sometime around 1980s, before that, romanisation of a chinese name is solely depends on the staffs of the registration office. after that, they rely on the c.c.c. (chinese commercial code)
羅 (u+7f85), could be “lo”, “law”, “loh”, “luo” & “lowe” 🙀
蔡 (u+8521), the old one is “choi”, newer one is “tsoi” (aft-1980s). the tricky aspect is: if a mr choi bring his children for registration, they’re also “choi”.
only for new immigrants go for registration, they have a choice to keep their old one (macau, pinyin, hokkien) or they may have it in “tsoi”. so, nowadays, a mr/ms 蔡 could be “choi”, “tsoi” or “cai”
about the c.c.c, there’re mistakes. once, the character “趙” is recorded as “chu”, it took about 2 years to rectify this error 😹 so that, a mr/ms 趙 could be “chiu”, “zhao” or “chu” (quite rare, comparatively)
further, the registration office respected one’s mother tongue. that, if one speak punti (the localized version of cantonese), the name is in cantonese. if they speak chiuchow, hakka, etc, or cantonese with accent, they would have a “non standard” cantonese romanisation.
most mr/ms 孔 (offsprings of confucius) i recognised is mr/ms “kung”, not “hung”😼
the romanisation scheme in macau 🇲🇴 is slightly different from hong kong 🇭🇰
there’re people originated from south asia (indian, pakistani, nepali), that, some of them have a chinese name, the romanisation of these name are not transliterated from their chinese name.
last, the best romanisation scheme one can find, to transliterate cantonese name is sydney lau scheme (劉錫祥粵音系統); most (not all) name in hong kong followed this scheme.
the bottom option in the left pane.
have fun :)