But can you quickly and easily distinguish between Ͱ and ͱ, or even Ω and Ω? The last two really are different Unicode characters, the first is Greek capital Omega, the second is the Ohm symbol...
I see why that's a problem for domain names, but not for programming languages. You just define that one character has meaning and all its homoglyphs are syntax errors (even in identifier names).
Unicode is a superset of numerous other encodings, usually the national standards of the countries whose written languages they want to encode. For example, the sections for the Greek and Cyrillic alphabets have identical layouts to existing Greek-only and Russian-only encodings.
The exceptions to this policy are usually writing systems that didn't have standardized encodings at the time they were incorporated into Unicode. Also, the rather notorious CJK unification project resulted in several new overlapping layouts as Unicode policy changed over time with respect to Chinese characters.
That's another very interesting difficulty: the symbol for ohm is supposed to be the Greek capital omega. Resolving such ambiguities (where applicable, of course) would probably add a lot of complicated code, and I'm not 100% sure it's trivial for all similar cases.