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.
These three builtins, at least, are also available as separate executables, and that's been the case going back to the mid 90s, that I remember, and probably before that.
It wasn't always so. In section 1 of the "Ancient Unix" version 6 manual, the pages on sh list only two commands we'd consider builtins today, chdir and wait. (Yes, this was before the command got abbreviated to cd!)
EDIT: I just booted up a copy of UNIX V7, and echo wasn't built into sh at that point yet, either. I then dug up a copy of An Introduction to the UNIX Shell by S.R. Bourne (yes, that Bourne), a tutorial document that shipped with UNIX V7, and it doesn't mention builtins at all.