My markdown extension works in preview but not on cooked

I have the same problem when trying to override the fence renderer (md.renderer.rules.fence) — it works in the preview window, but the default Discourse render is shown after submission.

Here is the code:

export function setup(helper) {
  if (!helper.markdownIt) return;

  helper.allowList(['div.embedded_workflow', 'div.embedded_tip']);

  helper.registerPlugin((md) => {
    md.renderer.rules.fence = function (tokens, idx, options, env, slf) {
      let content = tokens[idx].content;
      return '<div class="embedded_workflow">' +
               '<div class="embedded_tip">Copy and paste this code into n8n to play with the workflow</div>' +
               tokens[idx].content +
             '</div>'
    };
  });

}

You can also see the full plugin structure here. Any help would be greatly appreciated!