Answers
Is fancy text allowed in usernames?
Display names usually yes; handles usually no.
Short answer
In display names, usually yes. In handles and usernames, usually no — those fields are validated against a restricted set of letters, numbers, underscores and dots. That validation is why a change gets rejected.

The short answer
Most platforms allow styled characters in the display name but restrict the handle to letters, numbers, underscores and full stops. That is why a name change succeeds while a username change is rejected.

Why this comes up
The inconsistency is what confuses people: the same characters accepted a moment ago in the display name are rejected in the username field on the same page. It reads like a bug rather than a rule, particularly when the error is a generic message about invalid characters.
The reason for the difference
Usernames are identifiers. They appear in URLs, get typed by other people, and must be unambiguous — two accounts differing only by a look-alike character would be an impersonation risk. Display names carry none of that weight, so platforms validate them loosely. The restriction is deliberate, and no generator can work around it.