<!--raw-typst #index[Entry]!-->
but I would just write #index[Entry] directly in the Markdown text, and use a show rule in the Typst document to convert them: #show regex("#index\[.*\]"): it => eval(it.text, mode: "markup", scope: in-dexter)
Overall, I think pandoc-Markdown + filters + Typst template is powerful and conceptually straightforward: you define the data structure with Markdown, you transform it with filters and render with Typst. Having the document as a well-defined data structure you can manipulate is especially powerful and something I wish we had in Typst.
Now the only working exchange I know is in Switzerland (https://taler-ops.ch/en/). I wonder if you could legally use that from another country... I think GLS Bank is also supposed to have an exchange running in Germany some time this year but there have been delays in the past. Anyway it's probably still a bit early but it could be something to consider.