Indeed, the "poor fart portability issue" is one of the advantages of
putting the thing into user space. Another advantage is that crypto-
graphy is CPU bound and you can easily solve the scheduling problem
that way as well as make the filesystem scale to multiple CPUs.
Finally the amount of data for keys etc. that needs to be stored by
the filesystem can become large; in userspace you have virtual memory
available.
Downside - where no lock(2) or similar is available keys might end up
in the paging space; with high performance encryption hardware kernel
space might become necessary for performance.
Ralf