That's not obvious at all. The armor set was wrapped up together. He could have, and apparently did, just hand over the set for the blacksmith to look at. There's no guarantee that it was examined in plain sight, that the PC was watching every move, or that at a distance, he would have again noticed the marking that differentiated the gauntlets. Heck, the gauntlets could have been buried under another part of the armor out of sight to any but the blacksmith.
The failure was on the part of the player who wasn't paying attention.
I'm sure there are lots of ways to spin it. At the end of the day, however, the players are upset because the fiction in their mind was different than what was in the DM's mind. And, here's the thing. The DM
knew that their fiction were different. The DM let that happen. On purpose. This is exactly like the player running into the chasm to die, and the DM saying "Your fault."
I honestly don't see how the character wouldn't have seen the gauntlets and ring right there in his face. The blacksmith saw them. They were standing right beside each other. The blacksmith was going over each bit of the armor in question, right there, as the player character watched him. What more do you want? You should always give players the benefit of the doubt.
Imagine this scenario:
DM: All doors in the Temple of Kaggoth have two locks. It's one of their things.
later
Player: I search the lock for traps.
DM: You don't see anything.
Player: I pick the lock and open the door.
DM: The door is still locked because you didn't pick the second lock. The trap on the second lock, which you didn't check, goes off.
The player was
looking at the door! The DM should remind them that there is, in fact, a second lock.
I dislike games where the player has to describe their actions in excruciating detail. Some prefer that level of detail on the part o the players, but does the player of the character who is selling something actually have to describe
how they're standing in order not to be screwed over by the DM? I should hope not.
The DM should have pointed out the error on the part of the player.