Your husband is being completely unreasonable. Your child is only 20, for Gods sake, and he’s had to deal with serious mental health issues during his formative years. Nonetheless, he’s working nearly full time and paying you rent. He sounds like a responsible young adult who is doing his best to deal with his issues and find his way in the world. A lot of parents in your situation would be thrilled at his progress. Your son needs positive reinforcement at this point in his life, not judgmental disparagement that implies that he’s a loser.
I’m not sure where you’re coming from with the question “In white upper-middle income families, what would “normal” look like?” In my experience, too often ‘normal’ in that environment means emotionally fragile kids who have been pushed to the edge by the unreasonable expectations of their parents to be perfect. That can lead to tragic outcomes. You sound like you’re doing a good job giving your child the room he needs to grow. Just my humble opinion as a parent, but your husband could really benefit from some counseling. Good luck to your family.