Now that I'm awake, how this works: I started by looking at the kernel's printf to see how it actually did the output. It calls a function called 'outchar' for each character, which calls two other functions, the first of which stuffs the character in the kernel buffer, the second of which—if verbose mode is enabled—actually does the output.
The output is done by calling through a global function pointer called locputchar. By default, this is wired into serial output. But when the video console mode driver loads (in the very early init phase), if any video devices exist, it swaps that over to the video console.
This module, following the traditional MacOS development practice of "finding other people's global data and messing around with it without permission", loads in early init (the pf flag in its master configuration file) after the console driver loads, and puts the serial output putchar back again, undoing the change.