There is a way to do this.
First, don’t use Cross-doc Actions but better use a webhook. There is a free pack in the Gallery for sending webhooks or you can create one yourself, the code is like 20 lines.
Second, for rich text you have to send JSON representation of the rich text object, and on the receiving side convert it back into text.
Button action:
CallWebhook(
<URL>,
<TOKEN>,
Object("text", If(
thisRow.[Is rich],
thisRow.Text._Merge(), // include the object for the rich text
thisRow.Text // not a rich object - send value as is
))
)
Formula to test whether the text is rich:
thisRow.Text._Merge().ParseJSON("$.type") != ""
Automation on the receiving side
Table.AddRow(
Table.Text, thisRow.[Step 1 Result].ParseJSON()._Deref_object("text")
)