I don't think Unikernels are a reaction to Linux. The idea started in the research sphere in the late 90s, and at that time, Linux was a tiny kernel (it was just getting its first module loading mechanism), and used mostly for amateurs and research. What the idea came out of was the "death of systems research" (as aptly described by Rob Pike), together with the observation that more and more systems were being used for a single purpose (the whole OS does nothing but run one application), often run under virtualization (which was just getting real for mass-market computers back then, Sun, IBM and HP and other microprocessor vendors were starting to have partitionable machines, such as AIX'es LPARs, VMware was starting to get real, but the concept of VMs was ancient (IBM had been shipping it since the late 60s or early 70s).
So you have these (virtual) machines, and you run an OS that runs just one application. Why do you need more than one address space? Why do you even have to pre-build the OS and use it to start the application? Why don't you just turn your OS into a set of small libraries, link them against the application, and boot the application on bare metal? Sounds like an obvious idea? So Dawson Engler (who now works right here at Stanford) did this as his PhD thesis, under Frans Kaashoek's group at MIT. The idea is actually ancient. The first operating systems were actually (in the 50s and early 60s) were actually intended to run a single-task, and the machine was rebooted for the next task. So the way it was run was just like this: You take your program (often in FORTRAN or COBOL), compile it, link it against the IO libraries appropriate for your hardware (how to punch cards, how to do tape IO), and boot the resulting executable. The "IO libraries" were really the operating system in those days. All Dawson with his Exokernel thesis did was to take the implementation into the 20th century, and make it an interesting piece of modern OS research, rather than a historical oddity. By the way, Dawson is a really nice guy, and has done great work since: his research on finding bugs in programs by doing static analysis in the code is really good, and has turned into a good startup and a small industry of improving software quality. No, the Linux kernel is not "bloated with drivers", nor is Windows; in both you can unload all the stuff you don't need.
I don't think it has anything to do with FreeBSD versus Linux. And it has nothing to do with the common Linux hate that one so commonly sees in this forum. From a modularity point of view, there is no architectural difference between Linux and FreeBSD: Both a systems with a single large kernel (not microkernel based), and both allow loading of subsystems, filesystems, and drivers as modules. Very similar architecture.