Ouchies. This smarts because I myself have recently made a thing they has exactly this flaw: the editing UI and the display UI don’t match up in a couple places and it causes mistakes.
About the mastodon UX difference causing a problem there: both of those sound like perfectly reasonable renderings given the metadata “this part has a CW on it”.
I think the ideal fix for that specific problem would be to mark it up with a tag that meant “spoiler warning” rather than “content warning”. It’s much more accurate - you want the second part to be hidden temporarily because it’ll spoil the joke if read first, not because it’ll ruin someone’s day.
You can be much more confident that a client is going to display a SW in some fashion that is undramatic and fairly close to the author’s intent.
Yes, if that isn’t a widely used feediverse feature already, PRing to get it into all the projects will be a PITA.