I don't agree. Plenty of people write HTML by hand, no WYSIWYG, often with no more than a live preview pane like Typst's.
Why isn't it easy to place something relative to the edges of a page via text? In HTML I do `padding: 2cm` and I'm done. I'd say most of design involves placing elements relative to eachother; half the constraints in GUI design tools are matching spacing or aligning to nearby elements.
I'm not saying you can do the whole thing blind, but for the odd thing that does need visual feedback, not having a convenient UI isn't a critical failure. Some of those things are hard to do in a GUI too, and having a good text based layout tool could be easier.
On the other hand, all "official-looking" documents like invoices (with complex headers and footers) I seen in HTML was ungodly mess of nested tables, not something clean and structured.
I don't say it is impossible. But looks like it is hard.