Installing zfs tries to install incompatible kernel

I upgraded my kernel to 6.2.9, but found the current latest release of zfs (2.1.9) is not compatible, and fails to install completely or correctly. I don’t need the latest kernel (can wait until a compatible zfs release, anyway), so I uninstalled 6.2 and went back to 6.1. zfs was uninstalled as well - I don’t really understand the relationship but I guess zfs has a dependency on the kernel it was installed with.

But now, when I try to dnf install zfs, it tries to reinstall kernel 6.2.9 as well (dnf output below). Is there a way I can tell dnf to install zfs with the 6.1 kernel I am on and not install a 6.2 kernel?

$ sudo dnf install zfs 
Dependencies resolved.
 Package                  Architecture  Version         Repository   Size
 kernel-core              x86_64        6.2.9-100.fc36  updates      15 M
 kernel-devel             x86_64        6.2.9-100.fc36  updates      16 M
 zfs                      x86_64        2.1.9-1.fc36    zfs         659 k
Installing dependencies:
 dkms                     noarch        3.0.10-1.fc36   updates      84 k
(and numerous other dependencies)

The main Fedora repos do not provide multi-versioning.
What you actually can install from the repos is this:

dnf list kernel --showduplicates --available

A specific package version can be downloaded and installed manually:
kernel | Package Info | koji

I’m pretty confused, and not sure what you mean about multi-versioning.

I want to install the current zfs from its repository, and I want to keep the kernel I have, which I know is compatible with that zfs.

I don’t understand why dnf is trying to install a new kernel (which is not compatible), or how I can tell dnf to not do that.

DNF cannot install kernel-6.1, since it is no longer in the repos.
It installs/reinstalls the latest available kernel, that is currently kernel-6.2.
DNF is not aware that DKMS cannot build ZFS with this kernel.

Solution found: dnf install --exclude kernel* zfs. I still don’t know why kernel was included, but telling it --exclude worked.