Clothing industry is annoying and fiddly.
What I do, and I don't claim it's a perfect solution, is set up work orders like:
> Make 3 leather cloaks. If number of cloaks is less than 5.
So that means if all the cloaks have been claimed - and thus invisible to the work order conditions - a few more cloaks will be made. This ensures that everyone who wants a cloak, can have one. Doesn't do much about the discarded cloak spam, but I usually end up claiming and selling it, can always buy tons of leather from the caravans and make more cloaks, I try not to worry too much about accidentally selling some new cloaks, there will only be a few new cloaks in stock due to how to the work order is constructed.
I keep outfits pretty simple with no choice about what is worn in each slot, typically something like shoes, trousers, cloak, maybe gloves, maybe something for the head. If the clothing pieces are sized for "cougar men" then both dwarves and humans can wear them, which is important if the fort is mixed-species, greatly simplifies the logistics. I think this scheme does work fine with choice though, because it follows the principle that "if anyone wants one, they can have one", if a dwarf is happy with their tunic, they shouldn't want a shirt, or if they do want both, more will be made. It should be fine except for indulging the greed of dwarves to have the best.
I think you could avoid selling brand new clothing by setting up stockpiles like this:
Have a stockpile for newly produced clothing, it has links set up to receive from the clothier's and leatherworker's workshops only. So this stockpile only ever contains newly made clothes.
Have another stockpile near the trade depot, which accepts all clothing, it should thus only contain clothing that has entered or reentered circulation from a route other than being freshly produced (e.g. claimed by dfhack, or dropped by invaders). Use distance when choosing which bins to send to the trade depot for the trash men to take away. You could use this setup to rot (using a stockpile including refuse) or burn (magma chute) non-new clothes.