This is a problem with usernames being the display names on the platform. For example, my friend's Xbox Live name is in the format XX## from before Microsoft upped the minimum character count. He was grandfathered in. He's fairly attached to his name and forcing him to go to one of the remaining unique usernames doesn't seem fair when he's been paying for the service for over a decade. In that time, thousands of "good" usernames have been taken and all that seems to be left is John33191299991102. Asking them to switch names they've already locked in is a very difficult balancing act between this problem and pissing off their longest standing customers.
Steam's approach of unique username and your choice of display name makes the most sense to me. If I want to be Bob, I can be. If I want to choose something rather unique, I can. However, this opens up a whole new set of problems with impersonation. I don't think this is a problem on XBox with the buddy system and no trade economy though.
Blizzard's way of doing names makes tons of sense and doesn't rely on an incredibly awful search to find people. You can name your account whatever you want, but they automatically give you a unique number (when paired with your name) so people can easily add you to their friends list. So you can sign up with the name "Bob" and they will give you "Bob#1234" for people to find you.
This way you don't have any worry about people having short usernames being special or unique. The issue is that this kind of username scheme works for gamers (that aren't trying to be standout/unique necessarily and just want their username), but I don't believe would be accepted by social media influencers whose usernames are their brand names.
Discord does the same thing with the discriminator, and if you're a Discord Nitro subscriber you get the ability to manually change it to whatever combo you like (as long as someone with the same username doesn't have that number).
This is an even better solution. I've never had a Battle.net account so was previously unfamiliar with this. I agree though, this is a good way to give people the display name they want which is the crux of my problem with making unique username the same as the display name.
Just require 7+ characters and at least one number in the username and suddenly you lose 99% of "lucrative" names.