e2e encryption is pain in the ass, key generation and exchanging, complex and annoying to do
No, no it's not.
Yes, it's more complex than sending plaintext. But for starters it'd be extremely simple to generate a keypair for every user and publish the public key with their profile. When sending DMs you'd use this public key to encrypt the message.
As for storing the private key you could encrypt it with (a derivative of) the user's password, and store it decrypted possibly just in the user's browser.
This simple measure would prevent simple ways of reading the DMs, though obviously you still need to trust that your instance admins are actually serving you the code they claim they do. But it'd definitely prevent "accidental" misuse.