This isn't a big problem for a div/table/raw output, as the element is "simply there" (even if it would be cleaner to not have this element at all, if it's not needed, and it isn't), but it's a bigger problem for OOUI forms. Look at the following (where the submit button is created as an element (and the default submit button is omitted):
| Without JavaScript | The label creates an unnecessary gap between the input and the button | |
| With JavaScript | The label is removed when rebuilding (~infusing) the form | |
If the connection is slow, the user also notices a visible rebuilding of the form, which isn't really great. As a solution, HTMLForm should simply omit the label field, if it's no label is specified. We already had something similar, where unneded elements are visible in OOUI only: T117768: OOUIHTMLForm wraps Hidden fields into a fieldset.