Next to that I run a NixOS VM on https://getutm.app/ using Virtualization Framework. Performance is great.
You're one setting away `virtualisation.rosetta.enable = true;` to also use that VM for x86_64 packages and builds.
I have a WIP PR for Rosetta AOT caching on NixOS as well: https://github.com/NixOS/nixpkgs/pull/330829