Have fun reading.
The Mach Kernel has fully implemented parts of the BSD core, it is not floating on top of the Mach core, it could nearly be better described as the BSD core with Mach Extensions really. Mach extensions allow for things like better hyper/multi-threading support I believe than, at least at the time, was availiable on the traditional BSD kernel.
The kernel is primarily BSD Unix type code. What Apple has done is built on top of that with its own UI and libraries. That is what compromises the OS X experience.
The OS itself in its most basic of definitions wouild describe the kernel as that handles the basic input/output and control of the computer. Everything on top of that provides interfaces to those things the kernel handles.
I am not saying that Apple has not put a LOT of development time into its UI and libraries(Cocoa is one example) but that the base of the OS is built on top of the BSD OS which is Open Source. Darwin by itself can be run by itself without the Aqua UI or Cocoa libraries, however all the apps depending on those libs would not run and you would have a BSD system.
Also of note is that Mach itself was initially based off the BSD kernel as well...http://www.kernelthread.com/mac/osx/arch_xnu.html
Also on that page of note is that even though Mach 3.0 is a microkernel, in the XNU kernel Apple uses it is not implemented as a microkernel, allowing for the inclusion of the BSD source code in the kernel itself instead of in userspace.