The latest possible start date for components on the web was when PHP/fi (or whatever it was called) allowed you to ```include``` other files.
Realistically, people were probably doing the same with perl scripts before that.
And any definition of component is going to find it hard to exclude standard html elements, other than by specifying that it's users being able to define new ones, and not just browser vendors.
Incidentally, CSS was the original implementations of user-defined components: it allows defining certain behaviours once, for a "class" or group of similar elements, then using it repeatedly.