I'll be honest, before I started working at Plotly I had the same reaction to Dash at first glance, but as I worked with it/on it, I realized that most of the time, this client-server chattiness is not much of a problem from a user perspective, and is a great developer-productivity tradeoff.
More to your point, though, this is something we're trying to address in collaboration with the Dash community, in this PR for example if you want to follow along: https://github.com/plotly/dash-core-components/pull/461