Let’s get you familiar with Debian’s release cycle.
Debian 12 is Debian’s current stable release. The idea behind Debian’s stable releases is they’re a collection of package versions that are known to work well together, and will continue to do so reliably and predictably for the lifetime of the release, without needing to change system configuration.
To that end, before a stable release, packages for that release undergo a version “freeze”, which means as a matter of policy they don’t receive any more feature updates. Updates to packages are limited to targeted patches for fixing serious bugs, increasing the reliability and security of the system. These updates don’t increment major version numbers. That means Debian 12 will never receive a more modern zfs, nor kernel, nor most other packages. But to call the packages out-of-date is misleading, because the package versions are right where they are supposed to be from Debian’s perspective. Debian is actually very timely about issuing security updates to its packages.
So to answer your question,
Feature updates happen at major releases, the next one being Debian 13. Debian 13 will have a newer zfs, kernel, etc… It’s reasonable to expect Debian 13 will come out a year from now, but no release date has been set yet. At that time you’ll be able to switch to Debian 13, or to remain on Debian 12, whichever you prefer. Debian 12 will be usable for a long time to come.
From debian.org:
Debian 12.0 was initially released on June 10th, 2023.
The Debian 12 life cycle encompasses five years: the initial three years of full Debian support, until June 10th, 2026, and two years of Long Term Support (LTS), until June 30th, 2028.
The 6.1 kernel itself will also get support by the Linux kernel team until Dec 2026:
https://www.kernel.org/category/releases.html
So kernel 6.1 is not going away anytime soon. 6.1 is the kernel provided by Debian 12; it’s the intended kernel to be used with its other packages, and as I said above, out-of-date isn’t the most accurate way to describe it.
All that said, the most Debian way of solving your problem is indeed to use kernel 6.1.
Sounds like you are using a kernel provided by dom0. Be aware there are broadly two ways to manage kernels, that is, managed by dom0, or by the template/qube itself. More info here: Managing qube kernels | Qubes OS
Debian packages generally expect a coherent system populated by other Debian packages. The pitfall of using a kernel provided externally by dom0 is that it breaks that coherence enough to matter in the 1% of edge cases like the one you found yourself in. The zfs package provided by Debian expects the kernel provided by Debian.
You resolved this by making dom0 provide the kernel version the zfs package expects. That works, but you could also install Debian’s default kernel inside its template, like in the setup example in my earlier post. The latter method maintains the full coherence provided by Debian stable’s repo, as well as keeps the template/qubes configuration more self-contained (no need to leave yourself notes to unbreak it if it breaks again, because it simply will not break without deliberate config changes).