If you have all commendation chest cosmetics of one character, you’ll start to get duplicates and it’s complete RNG which cosmetics you get after this. There is no priority or even guarantee that you’ll get hats that you still might be missing on other characters.
For example, the only commendation chest cosmetic I am missing is the Beanie for RV. If I open commendation chests with any of the other four characters - for which I already have all hats - I can still get any non-dwarf cosmetic. So, I have to open chests with the dwarf in order to force it.
Cosmetic hats drop from Commendation Chests, for the specific hero you have selected. We’ve made changes so that you won’t be receiving duplicate hats. If the currently selected hero already has all available hats, a random new, unique hat will be awarded to you.
From patch notes
So it could be that there’s an issue here.
PS : You can actually use my account to try this, forcing new hats to drop, in order to replicate this issue. I’m okay with receiving hats that I didn’t drop myself, so no need to worry about me !