Let’s be real here…. A young, attractive woman goes out in public in revealing, figure-hugging clothes precisely because she wants to revel in her sexuality and be recognised as hot by the men and women she passes… she wants to be an object of desire.
Equally, she does NOT want to be made uncomfortable from being gawped at, crudely propositioned, catcalled or stalked. And she most definitely does not want to be assaulted! To be crystal clear as I suspect some posters will accuse me otherwise if i don’t: NO WOMAN IS ASKING TO BE RAPED, NO MATTER WHAT SHE’S WEARING!
Yes, she’d prefer that those admiring her sex appeal were just her female contemporaries and hot young men, but by consciously choosing to dress like that in public, as an adult (and 20 is definitely an adult for such purposes), she has decided that she is willing to expose herself to the lustful, admiring or jealous impulses of everyone she encounters!
It doesn’t matter how much older or less attractive women hate it, or try to shame men into suppressing their biological instincts, the vast majority of hetrosexual men - whether they are 20 or 80 - will find a young woman who has chosen to flaunt her body extremely attractive and will feel lust for her… young women know this, and dress like this anyway (at least those who choose to dress like that), knowing and even revelling in it.
As for the OP’s DH, he has merely responded to the woman in the way she invited…. He wasn’t intrusive, he didn’t intimidate her or make her feel uncomfortable (she was in his line of vision), and he certainly didn’t crudely proposition or inappropriately touch her! He was at fault in that he looked a little too long and wasn’t subtle enough so that the OP caught him… all whilst the young woman wasn’t adversely affected at all, and got kind of the attention she was inviting… In the grand scheme of things, he committed a pretty minor faux pas, and he’ll be more careful next time - no harm done unless the OP unduly escalates this out of jealousy.