Linux and most other modern UNIX-like operating systems are monolithic kernels.

I don't think Linux is nearly as monolithic as it (and Unix) used to be. Kernel modules that can be loaded and unloaded at any time are implemented beautifully in Linux, and it appears that more and more optional kernel components support module packaging.

Windows is (don't laugh now) a microkernel design with a hardware abstraction layer.

Bah, I don't see what the big deal is with the HAL. Linux has no HAL yet has no problem running on more hardware platforms than Windows ever did.

Windows and Linux (for example) are very different architectures.

The implementations are different but the capabilities are very similar. Both provide "flat" memory address spaces, preemptively scheduled processes and threads, paged virtual memory, full robustness, kernel-level security, similar IPC mechanisms, shared libraries, etc. For some real architectural differences, look at Linux compared to Windows 3.x or the 16-bit OS/2 1.x.