Most Straightforward way to get docker working is....?

I suspect the answer is going to be you have to recompile the kernel no matter what.

Are people recompiling on the board itself? Or cross-compiling somewhere else?

I see there is “official” documentation here: https://doc-en.rvspace.org/VisionFive2/PDF/VisionFive2_AN_Docker.pdf

Are these instructions still relevant for the newer updates of the provided Debian software?

(And why isn’t docker enabled by default? seems strange to me but…)

I use ubuntu and the custom kernel from Daily Ubuntu Kernel Builds - Now With 100% More APT Repo!
It has enough of the required modules enabled to get docker working but does not have all of the nftables modules built.
You need to use the legacy iptables mode so run the below and select the legacy mode.

update-alternatives --config iptables

The kernel has binfmt support enabled so I would run the below to enable you to run x86 and arm docker containers.

docker run --name binfmt --privileged tonistiigi/binfmt:qemu-v6.1.0 --install all

No booting from NVME on Ubuntu though, is that still correct?

I have not managed to get booting from nvme to work myself.

I use Ubuntu from RISC-V/StarFive VisionFive 2 - Ubuntu Wiki and the podman-docker package, which works for me without having to re-compile the kernel.