Weasyprint is quite wonderful, fast, and you can file upstream tickets and get good clarity on what's going on.
And you're writing your templates in CSS + HTML, which generally flows well.
At the end of the day the problems are rarely "CSS + HTML vs Latex vs Typst", but more just about making decisions about how you want something to be laid out when you have dynamic input.
"What should happen when I have a huge blob of text here" is often a non-trivial question. "What should I do on a page break here" is a non-trivial question. And they often involve having to, at the high level, make decisions. People whine about CSS, sometimes you just gotta read the spec and figure things out (rather than stop at your intuition for how certain fields work).
Nice thing about CSS + HTML is you can open up your output in a browser and futz about with it very easily.
I suppose it depends on how much web dev experience is on hand.