Misapprehensions like this are precisely why conventional transliteration of Hebrew is so flawed.
In SimHebrew (simulated Hebrew in Latin characters), the spelling distinctions between those three words are clear, and preserved:
- ‘melakh’: in Hebrew מלח, in SimHebrew mlk
- ‘melekh’: in Hebrew מלך, in SimHebrew mlç
- ‘malakh’: in Hebrew מלאך, in SimHebrew mlaç
See Modern-day Ecclesiastes for more examples.