The article isn't complete/correct.
Something did change with HTML.
Since 2018 every browser interprets ANY <tag-name> with a dash as a valid HTMLElement, not HTMLUnknownElement.
Absolutly NO JavaScript required to turn the DIV-soup into
<semantic-html> and CSS