FML, I think I've solved it - it was the Fritz!Box, it just needed a restart. First time I've had this specific problem with it, so that's fun. On the plus side, I can now confirm that you can do an IPv4+IPv6 port-forward with a single rule, you just need to use an alias with both IP types as the target.
"