9th edition => 9<sup>th</sup> ed

I am editing a style where ordinal markers should appear as sups. Is there a way to achieve this?

No way in CSL spec, but possible and a mature solution exists.

citeproc-js/-rs support locale terms that have Unicode superscript in them, which get turned into superscript tags, but you could also encode normal sup tags as XML entities and that would also work but wouldn’t fallback well (not sure if -js supports this) So google around for a Unicode superscript converter. Of course this is limited to the hundred or so characters which have a superscript variant in Unicode 12. So good luck with any language you’re not sure of. Fortunately superscript ordinals are a French invention, so I think this tends to be enough.

(Note - in citeproc-js, each individual character in a sequence of superscript characters gets a separate sup tag. This is not perfect if you wanted to style them as a single element, but usually not an issue. It makes my tests fail though!)

You can set vertical-align="sup" on text nodes, but you cannot target only the ordinal suffix of a number, hence the difficult solution above.