a. Per the subject at hand, the Windows 3.11 and the NT kernels are oceans apart (even though NT 3.1 was released a couple of months earlier).
b. The NT kernel relied *heavily* on the VMS kernel and OS2 kernel designs.
c. Assuming that you consider microkernels more modern, please keep in mind that the Linux kernel is just as hybrid as the NT kernel. (E.g. UMS graphics drivers, FUSE, udev, etc) while on the other hand, Microsoft is constantly moving functionality in and out of the kernel.
d. Given the fact that the Linux kernel has no need for backward compatibility and/or stable APIs, it has far less ancient code laying around (at least in core components). This is especially apparent when you compare the Windows file system(s?) to ext4/btrfs/etc or when you compare the Linux network stack to the NT stack.