
I personally never had a case where Typst couldn’t do what I wanted and usually found something better in Typst instead. The only exception is to do curly snake-like rectangle borders, but it’s probably doable in Cetz.
As for hyperref, you are propably right, I would personally use a boolean flag for that and do two versions. Though the whole point of a pdf is to have the same look between it and the print, other features might fail depending on the viewer.
I think the extra spaces in math make it more readable, and it’s kinda the price to pay to not have to add backslashes everywhere. One instance when I found it weird was that frak("abc") had a different font than frak(a b c). So i just make a let abc = $frak( a b c)$ rule.
No worries, you are right. And even if typst was perfect you have to work with other authors or journals that won’t want to use it