It’s surprising that given Apple’s war on kexts, they still haven’t come out with a proper API for implementing local user-space filesystems. It seems like this exists for remote filesystems (eg: Google Drive, Dropbox), but not for filesystems on local storage devices? This sounds like a nice workaround, though!
Hardly a war, a rather rational decision it is – they are progressively moving kernel modules, drivers, file systems and network components into the user space.
It is a foundational design principle of GNU Hurd where everything, apart from the microkernel server, runs in the user space. Minix 3 followed the same principle, and many other microkernel designs as well.
It makes sense from the resilience point of view where a defective kernel module / driver can no longer crash the entire system.
It also makes sense from the security perspective on – the kernel itself is cryptographically sealed off and can't be tampered with.
Previously, the overhead of extra context switches was too high on the old CPU's and hardware, but today's computing devices are fast and the hardware is more optimised, so moving stuff into the user space is viable and incurs a much smaller performance penalty.