Of course something that started as an application framework would have had "subroutines" and custom components. That's no reason to deride the efforts to address that now.
As for requiring JS, you are correct. A declarative custom element standard will be needed before we can have extensible HTML without script. But given that a declarative standard will be a subset, in term of power, of the imperative API, it's best to see what the most common used parts of the imperative API are before baking defining the declarative version. If you look up initial versions of MDV and web components, you'll see declarative elements in there.