And for reasons I don't know, I removed the container, moved the dvr data to a new folder and ran the command:
docker run --detach --name=channels-dvr2 --net=host --restart=unless-stopped --device /dev/video10:/dev/video10 --device /dev/video11:/dev/video11 --device /dev/video12:/dev/video12 --device /dev/video13:/dev/video13 --device /dev/video14:/dev/video14 --device /dev/video15:/dev/video15 --device /dev/video16:/dev/video16 --volume /mnt/disk/dvr:/channels-dvr ajvolin/channels-dvr:tve-arm64
Now it has hardware transcoding. Not sure why, but I am going to take the win.