I use the *zfs repos to solve this problem:
[archzfs]
Server = http://archzfs.com/$repo/x86_64
[archzfs-kernels]
Server = http://end.re/$repo/
If you put the archzfs repos as your first repos on your list, it has dependencies on specific kernel versions. That will prevent the kernels from getting updated before zfs.