as that would end up copying the \0 along with the rest of the string into the driver
What? echo definitely doesn't append null terminators. It does append a newline, which you can omit with the -n option or ending the string with \c, depending on which standard it follows.
That's why FreeBSD doesn't use mknod(8) - or device numbers - at all. You can kind of work around this obsolete idea instead - that's what Linux is doing - but it's not optimal.
Precisely. That's one of the reasons devfs isn't optional in FreeBSD. (Note that FreeBSD devfs is very different from the one that's been there in Linux years ago, and doesn't have its deficiencies.)
Also... have you considered contributing this content to the NetBSD Internals book? https://www.netbsd.org/docs/internals/en/netbsd-internals.ht... :)