Nix breaks up actions in instantiation & realisation.
You can however run into a gotcha by forcing certain derivations to realise during instantiation which kills parallelism benefits.
I explore a simple example of how this gotcha is triggered.
https://fzakaria.com/2020/10/20/nix-parallelism-import-from-derivation.html