It’s more complex than that and the specific point being made is accurate - Rosetta 2 doesn’t support virtualisation in the sense that it cannot perform translation in the context of virtual machine.
If you run an x64 Mac binary on the host, Rosetta (simplified) translates the code to arm64 then runs it. If you run a Linux VM and execute an x64 Linux binary or container inside it, Rosetta can’t help you. You’ll be running inside a big emulator - in fact, Docker Desktop uses QEMU under the hood I think.