I've been on a stable RCS connection now for one week and two days, which is the longest I've ever maintained. The only thing I changed was enabling compatibility mode in the app settings.
A couple other observations:
-GrapheneOS did update once and Google Messages updated twice during this period.
-When I go to Debug -> RCS -> Report RCS Connection State, it used to say "Transport: Chat API w/ RCS". Now it says "Transport: Chat API w/ Tachygram". I have no idea what Tachygram is.
I don't know if the improved stability is due to enabling compatibility mode, the updates, or just pure luck. I'll continue to run it with compatibility enabled, and if after a month it continues to stay connected I'll disable it and see if the connection remains. I'll also add that if this is a solution to the problem, I don't know if the risk is worth the reward. Is the security vulnerability from reduced sandboxing more important than the privacy of E2EE?