XML is much better than JSON for document-oriented data like messaging and web pages. Use the right tool for the job.

IM messages aren’t really documents. They are text with some very minimal formatting that could be expressed with markdown. Any media attached isn’t embedded in the document, it’s attached externally / rendered at the bottom.

The only example I can think that messages are expressed as documents is Microsoft Teams. And it’s as much an example of what not to do as anything.

IM messages seem to be documents just as much as email or many things you'd normally call documents. A reasonable definition IMO would be:

    A self-contained rich formatted text file/package that optionally contains attachments or media.

I'd disagree with that for most messaging apps. If you think about Discord or Slack for example. You have a plain text message and then media attachments externally. This could be very well expressed with JSON.

Very few messaging apps let you go beyond plain text and let you start embedding media or complex layouts inside a message.

Eh, XML is a machine-readable generic markup language. Why would you prefer using a less powerful format like markdown in a context like message representation? XML with inline tags seems the perfect fit.

Less powerful also means less complex and less exploitable. You can very easily grab a markdown renderer rather than trying to decode a .docx for messages.

Pretty much no messaging apps let you create messages more complex than markdown anyway.