The goal of Web Components are to sell a interop layer that is supported by many (or even all) frameworks. It's not supposed to be a framework that has the best developing experience.
The Polymer API is better than the Web Components API. The Polymer API is more high level than the Web Components API. This is not by mistake, it's by design. The higher level the Web Components API is, the more difficult it is to use by a large number of wildly different frameworks.
"We complain because WebComponents API is horrendously bad, and that was a deliberate design choice."
I don't think it matters much to be honest, because developers should use frameworks, just like they are using frameworks at the moment.
"Here's code to create one single property with one single synced attribute. One. single. property/attribute pair. One."
You need a "synced attribute" only for some frameworks, not all. Also, your example is misleading, because the two last methods are only needed to be defined once, so if you want 2 synced properties, the total number of methods is 6, not 8.
"Bad developer experience."
Use a framework.
"If WebComponents had better APIs, there would be no need for Polymer, would there."
The risk is too high to use the Polymer API for the Web Componenets API. In addition, the more complex the API is, the more likely it is for the browsers not to implement the API. It's better to have a simple native API and provide different frameworks for a good user experience.
"Because in your mind WebComponents === Polymer."
Or maybe he thinks that frameworks should be used, as intended.