All these examples are torturous, ugly, and vague because Nix and purl are antithetical to each other. It’s never going to work.
If you are listing a Nix path in an SBOM then use a component with properties in a nix:
namespace - Pre-RFC: CycloneDX BOM taxonomy.