You're either sugarcoating your pug experience, or straight up lying. The M+ pug community is about as toxic as low elo league on a fresh 30 account. This is remedied by what you suggested (join a group with a discord. People in general are better players and humans there, and the toxic ones are generally less inclined to be so when they have to actually speak with you). That being said, if it's the key holder being a douche, I have no qualms with dipping. Otherwise, I will stick it out until the person with the key is done, typically.