Statically linked binary with crate2nix

I recently set up crate2nix for the first time, and it’s giving me a fair bit of trouble. I figured out how to make it cross compile to x86_64-linux-musl. Here’s my flake.nix:

{
	inputs = {
		nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
		flake-utils.url = "github:numtide/flake-utils";
		fenix.url = "github:nix-community/fenix";
		fenix.inputs.nixpkgs.follows="nixpkgs";
	};

	outputs = { self, nixpkgs, flake-utils, fenix }: flake-utils.lib.eachDefaultSystem (system:
		let
			rustToolchain = fenix.packages.${system}.fromToolchainFile {
				file = ./rust-toolchain.toml;
				sha256 = "sha256-X/4ZBHO3iW0fOenQ3foEvscgAPJYl2abspaBThDOukI=";
			};
			pkgs = import nixpkgs {
				inherit system;
			};
		in rec {
			packages = (import ./default.nix {inherit pkgs rustToolchain;}) // {inherit rustToolchain crossPackages;};

			crossPackages.x86_64 = import ./default.nix {inherit pkgs; pkgsTarget = import nixpkgs {inherit system; crossSystem.config = "x86_64-unknown-linux-musl";}; kernel=pkgs.linuxPackages_latest.kernel;};
			# ...other irrelevant stuff...
		});
}

And here’s my default.nix (also edited for brevity):

{pkgs?import <nixpkgs> {},
 pkgsTarget?pkgs,
 rustToolchain ? null,
}: rec {
  initScriptCargoNix = import ./init_script/Cargo.nix {
    pkgs = pkgsTarget;
    buildRustCrateForPkgs = (pkgs:
      if isNull rustToolchain then
        pkgs.buildRustCrate
      else
        pkgs.buildRustCrate.override {cargo = rustToolchain; rustc = rustToolchain;}
    );
    targetFeatures = ["+crt-static"];
  };
  initScript = initScriptCargoNix.rootCrate.build;
}

What comes out is something I have never seen a Rust compiler produce before: a binary that is dynamically linked against musl.

$ nix build .#crossPackages.x86_64.initScript
$ $ file result/bin/init_script 
result/bin/init_script: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/h9ajqvighl86v5pqlchihkbn09wwv7rg-musl-x86_64-unknown-linux-musl-1.2.5/lib/ld-musl-x86_64.so.1, not stripped

Building this exact same crate with cargo build --release --target x86_64-linux-musl produces a statically linked binary as expected.

Why is crate2nix doing this, and how can I get it to not do it?