Does anyone know what the "real" reason is for not exporting the kernel function in 5.0+ anymore?
Is there a technical reason, additional work or is it just a middle finger to ZFS devs?
The functions/symbols being used were __kernel_fpu_{begin,end}. These were designed for use within the kernel, and not for external modules - however external modules used them since there was no other alternative. At some point the kernel announced these were being deprecated, and have now been removed.
Since they weren't designed for external modules, someone submitted a patch to make them exportable. However the patch enforced EXPORT_SYMBOL_GPL, so only modules that report being GPL licensed can use them.
Now ZFS is in a position where it can't use the original kernel symbols since they were removed, but can't use the new ones since they are marked as EXPORT_SYMBOL_GPL.