The point you missed is that OS-component-level replacements have more to do with interfaces inside the OS than the inner workings of the entire product.
On Windows, for example, as an user you are free to replace and rewrite drivers for any piece of hardware even if you don't have the source for the OS. Another feature of Windows, a defined ABI, allows Wine to continue running Windows code, even when the internals of Windows change. Another feature of Windows, the modular I/O system, lets you to modify behavior the file system through filters (without worrying about how I/O works internally). You can basically write your own file system, or even extend NTFS, using this, all without knowing how Windows works internally.
The Linux kernel, historically since it was based on UNIX was not modular. Now it has some of the things NT has, and also some cool stuff that NT doesn't.