Actually, it looks as if I was wrong; there is a way to monitor memory allocations by device drivers, using Driver Verifier. This tool is built into all current versions of Windows. Although it was designed and documented for programmers to debug device driver problems, there seems to be no reason you couldn't use it to find which device driver is using the "missing" memory.
You can bring up the Driver Verifier Manager simply by typing "verifier" in the Start Menu or at a command prompt. You'll need to run it with elevated privilege, i.e., by pressing control-shift-ENTER at the Start Menu or by running it from an elevated command prompt. The "Create standard settings" option should be appropriate; you can then select the drivers to be monitored (basically, any that you are suspicious of; all non-Microsoft drivers would often be a sensible choice). Default verification options are applied, including pool tracking. Since the memory you're interested in is already allocated, you'll need to reboot.
Once you've rebooted, run the Driver Verifier Manager again and select "Display information about the currently verified drivers". Click Next until you get to the "Counters specific to each of the currently verified drivers" page and go through the drivers until you find one with lots of allocated memory. Hopefully, it will be the driver for FancyCache.
Because kernel mode is kernel mode, I don't think that Driver Verifier will always work; it relies on the drivers following the rules, at least approximately. There are probably various oddball methods a driver could use to allocate memory that will evade Driver Verifier's counters. But it should work most of the time.