This is how I do it in RSS.
I include both the rendered version and the markdown version of the text if it's available.
The default is the rendered version because there aren't many apps that are looking for the markdown version, but my apps are.
Here's a blog post that explains.
http://scripting.com/2022/07/19/152235.html?title=devNotesForMarkdownInFeeds
@davew thank you -that's a good reference. ActivityPub supports a "contentMap" for sending out content translated in multiple languages ... I'm not sure it would work for formatting (I don't want to pollute localization space in the spec) but ideally I could do something where I provide two versions in a single message that a server can choose to render (with sensible default)