According to the dash man page, there are two classes of builtins.
Some commands have to be built-in because they cannot work if they are external. cd is one such since if it were external, it could only change its own directory, it couldn't affect the current working directory of the shell.
The other class of commands are built into the shell purely for efficiency. The dash man page mentions printf, echo, and test as examples.
In the beginning, the builtins in the second class were separate executables. These separate executables are still available on every Unixy system I've used, even though they're also built into every shell you're likely to use.
By checking old manuals, I've been able to narrow the window where echo got built into the shell to some time after Unix System III was released (1982), where echo is not built-into the shell, but no later than Unix System V Release 3.1 (1987), where it is. I don't have manpages for any of the major candidate systems that appeared between these two, so echo could have been made a builtin before SVR3. If so, likely candidates are 4BSD, SVR1, or SVR2. I include BSD in the list because System V Release 1 brought a lot of BSD innovations back home to AT&T, including vi and curses, so that could explain echo's appearance as a builtin in the SVR3 manuals I have here even if it were a BSD feature originally.