The web started out as a way of structuring and storing information. Any layout capabilities were (and still are) secondary to that.
For the past 25 years, I’ve been working with print and web and feel very comfortable working directly with the code. Learning and getting fast at it it is typically a matter of investing the time.
Most websites today are built within content management systems, which, if compared to InDesign, is essentially a database for content that’s flowed into pages built around master pages and styled with style sheets. The content management system equivalent of master pages would be the site template or theme and the equivalent of InDesign’s style sheets would be CSS.
You mentioned the WYSIWYG Dreamweaver as being a code mangler. This was once more true than today. Dreamweaver actually writes pretty clean code — much cleaner than InDesign writes Postscript. Nobody, however, ever looks at InDesign’s code, but it’s there and it’s sort of a mess. Postscript is much more complex than HTML/CSS, and it would have taken forever to have downloaded complex pages built in a WYSIWYG app during the early years of slow modems.
Anyway, today’s web needs to be rather fluid and interactive in a way that static pages can’t be and. In addition, a backend scripting language is used to assemble the pieces on the fly. Much of that code is embedding into the templates and themes in a way that would make a pure WYSIWYG approach to web design problematic and difficult. Lots have tried (Dreamweaver, Muse, etc.), but there are serious limitations in doing it that way unless only static pages are built (no database), which makes updating a website much, much more difficult.