I think wow does a lot of things right. This is not one of them. There are a lot of existing unused assets in the game that can be used with minimal effort on the developer side of things without creating new content as incentives for players. Island expeditions somewhat solved this but they didn't go far enough and the drop rates at launch of BFA were so low no one wanted to do it but was eventually fixed.
I propose a simple solution. Add cosmetics to content that already exist either to current content or evergreen content. Here are examples:
- Torghast
- Timewalking badges OR drop in the raid versions
- Trial of Style
- Keystones
Armor sets:
Tier sets: From as far back as Tier 10 and possibly further back there are unused sets that already exist that could be used.
Armor pieces: Stuff like the Exile's Reach boots exist as items in the database aren't given. Just add them to a vendor.
Heritage sets: Mag'har have access to all their colors. Lightforged and Nightborne still do not. The colors exist but are simply not given.
Pets:
This one isn't as bad. They do add many recolors of pets. However there is an entirely unused pet moddle that hasn't been obtainable since 7.3. That's right since FOUR years ago!
Mounts:
There are tons of unused mounts. MoP gave many skins but also didn't give a ton of unused skins. Again, these all exist already so no art team is required. They just don't have a source. A list of these can be found here: https://www.warcraftmounts.com/unimplementedgallery.php
The Deathbringer's Flayedwing mount existed in beta for Shadowlands but they removed it for no reason alongside the Deathbringer title and there has been no reward for the world pvp meta achievement. Another notable example is the Stormcrow mount. This has been in the game in almost EIGHT years. The item exists as can be seen here: https://www.wowhead.com/item=104011/stormcrow