Flutter has even more abstraction than what most people are using for web clients. That doesn't come for free, though it tends to always look like 100% upside until you actually use it and see the trade-offs it makes. Ruby on Rails also used to attract a lot of comments like yours until people realized the trade-offs.
Btw, if Flutter makes the web dev paradigm look bad, then I wonder what you think of the iOS/Android/desktop client paradigms where you don't even get much choice like you have on the web. Like using Core Data's "ORM".
You're essentially hoping Flutter spares you from ever having to drill any deeper than the Flutter abstraction on each of your deploy targets which simply doesn't yet match reality. And of all the client dev experiences, it's the web that has the options closest to Flutter, so it's not the one I'd damn first.
Flutter has a very good plugin architecture. You don't actually have to use their widgets if you don't want to. And as for being restricted to the prevailing platform paradigm ... you have as much freedom as the platform gives you. For some things Flutter can't provide miracles ... like to access specific device hardware you are going to have to build a native bridge ... but in the end Flutter is building a binary that is ... as much as possible ... standalone. It even reinvents GUI components instead of bridging to the prevailing OS ones, touch input instead of using the native one, etc., so that you have more control (if you want it).
Btw, if Flutter makes the web dev paradigm look bad, then I wonder what you think of the iOS/Android/desktop client paradigms where you don't even get much choice like you have on the web. Like using Core Data's "ORM".
You're essentially hoping Flutter spares you from ever having to drill any deeper than the Flutter abstraction on each of your deploy targets which simply doesn't yet match reality. And of all the client dev experiences, it's the web that has the options closest to Flutter, so it's not the one I'd damn first.