Do you have "dtoverlay=vc4-kms-v3d" and graphics-KERNEL loaded on the RPi0/RPi0W as well as v4l-dvb-KERNEL?
I did not have the graphics module, nor the dtoverlay, but I did have v4l-dvb-5.10.44-piCore.tcz.
I could not find the correct graphics package for my kernel (graphics-5.10.77-piCore.tcz is missing for all architectures), so I manually installed the 5.10.16 version and added the dtoverlay under an [ALL] section.
Verified that the graphics package was loaded on next boot and dtoverlay got saved.
Unfortunately, the camera was still not recognised by v4l2-ctl --list-devices (again complaining about no /dev/video0, which I assume should be set up by libv4l2 itself), but it still worked with raspistill (and vcgencmd get_camera also reports a supported and detected camera).
I should also note that on the Pi Zero 1.3 (not the Pi Zero 2), extensions load very slow and a variable amount of paths pop up after udevadm settle - timeout of 5 seconds reached, the event queue contains:.
Could range from only /sys/devices/virtual/block/loop99 and /sys/devices/virtual/block/ram0, to the full screen full of paths (including camera related stuff).
I also attempted to load the armv6 kernel on the Zero 2 to see if that would expose an incompability, but unfortunately that didn't even boot.
Thanks for your help.