ActivityPub users need to be identified by some identifier in the URL, and Lemmy chose the user name to be that identifier. As a result, non-Latin usernames become… complicated. Just the right-to-left nature of scripts like Arabic alone would break UI design. Technically you could hex encode usernames and assume them to be UTF-8, but it’d be a massive pain that’ll undoubtedly break compatibility with other services.
You can use your display name to freely enter just about any name. Usernames are almost entirely irrelevant to Lemmy as far as I’m aware; I think they only matter in mentions (although that’s a choice as well, on the ActivityPub level there’s no need to do that). The display name should cover the “it looks really cool” component. As you’ve maybe seen already, you can include names, flags, and emoji in there as well!
With the current username system, there are more possible usernames than there are grains of sand on earth, per server. I don’t think we need a bigger username pool. We may need a better way to tag people, though, but that’s also true without different character sets.