Gave up on curating races. Players always ignore me anyway. So now I’ll let people play what they want to play. Current lineup is an owlfolk, a Dragonborn, a tiefling, a warforged and a dream of an aboleth.
My first campaign in 5e only had halflings, humans, and goliaths as playable races to start. It has now expanded to add dwarves, elves, forest gnomes, goblins, hobgoblins, and mulgoblins (a variant on bugbear)
I started my campaign limiting the available races to humans, dwarves and gnomes, to reflect who lived in the community. As the campaign has gone on, the doors have been thrown wide for choices in side campaigns, but always based on what's appropriate for that game. I've explicitly put Van Richten's lineages on the table for our upcoming Empire of the Ghouls campaign, for instance.
I prefer, where possible, to have each campaign to have a theme throughout, expressed through classes, subclasses, etc. For the most part, this has worked out fine, although there have had to be a few negotiations with players over the years.