Having used Angular for years, I share the same experience. Everything is hulking complex and opaque. Compare it to React, which is simple enough in principle that you can actually understand whats going on to push your code to browser.
Angular is the J2EE/Plan9 web framework. They just keep layering on complexity when they find use cases that don't work. Instead of ratcheting down to give you more control, you get even less. The cycle repeats. Its way more than a web framework now. The templates you write are barely related to HTML and JS, an order of magnitude more divorced from reality than JSX
The static HTML templates allow us to compile them to JavaScript instructions, similar to incremental DOM (iDOM).
This way Angular can perform an efficient change detection to reflect changes in the view.
Static versus dynamic has its own trade offs. It's well explored topic in theoretical computer science and popular literature. Static systems definitely can set some constraints, but at the same time open a lot of space for compile-time optimizations.
Angular is the J2EE/Plan9 web framework. They just keep layering on complexity when they find use cases that don't work. Instead of ratcheting down to give you more control, you get even less. The cycle repeats. Its way more than a web framework now. The templates you write are barely related to HTML and JS, an order of magnitude more divorced from reality than JSX