Thanks, I wasn't aware of htmldoc or that LibreOffice had a headless mode.
It does seem like htmldoc doesn't support CSS which is going to be a blocker for a lot of people.
Pandoc is definitely worth considering but I didn't include it as I believe it just delegates it's PDF rendering to a configurable engine like LaTeX, weasyprint or wkhtmltopdf.