@SteveF this might be bikeshedding, I’m not sure. It seems to me that it would be better to re-arrange this. 1.11.1 introduces the problem pretty well except that the end of the paragraph and the arrangement of the two subsequent explanations seems misleading to me. Would it be better to rephrase as (added stuff in bold below):
The addition of visual styling and scripted events to the taco-button could provide hints as to the semantics and expected interaction behaviours of the custom element for some users, but for the semantics to be formally expressed, developers must convey the semantics either by way of extension of an element with built-in semantics or by using ARIA roles, states and properties.
See, extension is easier to get right if that actually is possible to do (as is the case with your example, which is why I find it confusing maybe). So, then just reverse the two so you present extension first and then explicitly call the other out as ‘Adding Semantics via ARIA’ or something and explain that sometimes this is just the route you’ll have to take because you’re just extending ‘HTMLElement’ which has no built in semantics really.