I've never understood that idea that PM's on a platform must be held purely private by the platform even in cases where:
* There's some moderation dispute that involves the PM's
* At least one of the parties involved consents to release the PM's
The latter is the critical bit, to me. When you send someone a chat message, or an email, obviously there's nothing actually stopping them from sharing the content of the message with others if they feel that way, either legally or technically. If an aggrieved party wants to share a PM, everyone knows they can do so -- the only question mark is that they may have faked it.
To me the answer here seems obvious: allow users to mark a PM/thread as publicly visible. This doesn't make it more public than it otherwise could be, it just lets other people verify the authenticity, that they're not making shit up.