I wonder why they didn't go with syllables and something like a levenshtein distance to syllables?
That way they could more easily maintain similar looking and sounding words, including leetspeak and other variants.
Because with this kind of approach, something like "yolocaust" will get through, as most checks only go with exact matches and permutations will always get around it easily...
Whereas with something like a levenshtein distance you could compare it with a set of words and syllables and if it's too similar looking, e.g. 90% the same distance compared to username length, you could simply block it.