What does Developer Tools > State say when you’re playing whatever content you want to be playing? Also look at the documentation for whatever integration your Chromecast is connected through I suppose. But submitting a media_content_id which in actuality contains a JSON-encoded string does not seem like the “Home Assistant way” to do things.
Hmm. Then most likely the integration itself does nothing with the media id, just passes it along to the Chromecast, whose API expects a JSON encoded string.
Unless there is documentation somewhere for what the TV4 app expects as media_id I guess the only thing you can do it try everything? Have you tried using the entire URL as if you would link directly on the episode on their website? I.e.
(Also for future reference, to avoid silly escaping mistakes it would be safer to not write the JSON manually but assemble a YAML/Jinja dict and pass to the to_json filter.)