What more modern approaches?
Managed programming languages, virtual machines, etc. All of that was around in the 1980's already.
Can you name a better language for writing kernels? C is basically the optimal language for writing system code. You haven't presented a revolutionary alternative yet.
Modula-3 and CEDAR/MESA come to mind, but kernels have been written in managed languages.
And C is about as far from being "optimal" for writing a many million line kernel as any language can be.
Virualization is big because UNIX is too awkward to work as a multi-role server
UNIX and Linux actually offer all the "multi-role" support you could possibly imagine and want: access control, isolation, namespace manipulations, and various forms of virtualization. Among all of those, people choose virtualization because it's the least hassle and the easiest to manage.
And you are absolutely right that NT has focused on "multi-role" support, including elaborate security and user mechanisms from the start. But that's not the sign of a modern kernel, it's a sign of an obsolete 1960's design. By doing so, Microsoft missed the boat on all the other approaches and is now trying to catch up.
Let's just be clear about this: Linux gives users a choice about what level of "multi-role" support they want, and their choice is "very little".
so you use virtualized myopic UNIX servers to replace what could otherwise be done by Java EE or .NET.
That claim makes absolutely no sense at all, since the Java EE approach was developed on UNIX and Linux. And once you run your servers in managed virtual machines, you don't need all the elaborate kernel-based "multi-role" support anyway. That's another reason the "multi-role" support in NT is superfluous and obsolete.
The only other "modern" systems I can think of from the beginning of the NT era are Amiga and eventually BeOS.
Yeah, that's because you obviously don't know anything, and neither did the people at Microsoft. Microsoft's OS developers in the 1980's and 1990's were a bunch of PC hackers plus industry wash-ups who had no idea what the state of the art in computer science actually was, and they developed a third rate OS that was obsolete from the start.