I've gotten ZFS working pretty well following the compile instructions on their website. I just put everything in a chroot to make it cleaner.
# Fist, install a few things we're going to need:
sudo apt install debootstrap
# Now, create our chroot
mkdir -p chroot-zfs
# This will take a while
sudo debootstrap --variant=buildd focal chroot-zfs
# mount proc, sys, and dev
sudo mount -t proc /proc chroot-zfs/proc
sudo mount --rbind /sys chroot-zfs/sys
sudo mount --rbind /dev chroot-zfs/dev
# Copy the files we need for apt. The sources.list is missing many things we'll need.
cp /etc/apt/sources.list .
cat /etc/apt/sources.list.d/armbian >> sources.list
sudo cp sources.list chroot-zfs/etc/sources.list
# Chroot in
chroot chroot-zfs /bin/bash
# Install wget and gnupg
apt install -y wget gnupg
# Add the repository key
wget -qO - http://apt.armbian.com/armbian.key | apt-key add -
# Update
apt update
apt upgrade -y
# From here, follow the instruction from ZFS
The only problem I ran into is the linux-headers-current-rockchip64 were for 5.9.10 and not 5.9.11. I did a cross build in a VM for Armbian to get updated headers. Once I installed those in the chroot I was able to build kmods.
I'm sure there's a way to include building ZFS 2.0 with the Armbian cross-compile setup, I just haven't figured out how yet.