Thanks, I thought about taking the alias route, but notion is that this should work out of the box when I’m switching computers. (Interestingly, the solution in the the linked Stackexchange thread is using zsh’s special process substitution operator =(...) which is the same as your suggestion, but built into the shell itself.)
This problem seems to be the same as the one in the linked Stackexchange thread regarding ssh -F, but I don’t know enough about the topic if that this is by design or by accident, and this is not that crucial anyway. Although, it is indeed baffling that true | nix-shell shell.nix fails, thanks for finding this!
Also drew my attention to the NixOS/nix issue of https://github.com/NixOS/nix/issues/2734 which describes the same problems I ran into when trying to use pipes or <(...) so I updated it as well.