Erklärung: Wenn macOS auf der NVMe bereits installiert ist, gibt es logischerweise auf dieser bereits eine EFISystemPartition.
Da Windows bei der Installation diese ESP erkennt, installiert sich der Windows-Boot-Manager in die EFI. Da soll er aber nicht hin, sondern in die EFI auf der SSD, auf der Windows installiert werden soll.
Da eine NVMe im Bios nicht deaktiviert werden kann, müsste sie ausgebaut werden. Sie sitzt aber in (m)einem ITX-Gehäuse knirsch oberhalb der Grafikkarte, lässt sich dadurch nur mit zarten Fingern und langem Schraubendreher ausbauen oder man muss, um besser heranzukommen, die Grafikkarte entfernen.
Deshalb habe ich nach einer anderen Lösung gesucht.
Lösung: Von einem Windows-PE (oder z. B. von Hiren's Boot-CD, selbstverständlich die legale Version mit Open-Source-Tools) starten.
Die SSD auf der Windows installiert werden soll mit diskpart partitionieren (Wiederherstellung 529MB, EFI 100MB, MSR 16MB, Windows ???GB) oder schon vorhandene Partitonen (falls eine ältere Windows-Version schon installiert war) formatieren.
Wer mit diskpart nicht klar kommt, kann auch ein Freeware-Partition-Tool der Hiren's Boot-CD benutzen.
Weitere Voraussetzung ist, dass eine NTFS-Partition im Rechner vorhanden ist oder es eine externe Platte gibt, auf der die Windows.iso und das Tool WinNTSetup liegt. Für WinNTSetup benutze bitte die Suchmaschine deiner Wahl, man wird sehr schnell fündig.
In Windows-PE angekommen, die Windows.iso einhängen und WinNTSetup starten. Hier die install.wim der eingehängten Windows.iso als Source auswählen und festlegen in welche ESP der Windows-Boot-Manager installiert werden soll. Nur so installiert er sich nicht in die macOS-EFI.
Optional weitere Einstellungen tätigen.
Nach der Installation startet Windows wieder als Erstes. Wenn macOS (also OpenCore) den Vorrang bekommen soll, muss die Bootreihenfolge im Bios wieder geändert werden.
Ebenso kann zu diesem Zeitpunkt Windows nicht mehr über OpenCore gebootet werden, da sich die UUID der Windows-ESP geändert hat. Der Booteintrag in der config.plist von OpenCore unter Misc -> Entries -> 0 -> Path ist somit nicht mehr gültig. Falls die Partitionen der Windows-SSD nur formatiert wurden, hat sich die UUID nicht geändert und man kann sich die folgenden Schritte sparen.
Lösung: Die EFI-Shell von OpenCore booten, die macOS-ESP suchen (mit fs0: fs1: fs2: usw. jeweils mit dem Befehl ls in die Verzeichnisse schauen), mit fs0: (fs0 ist hier nur ein Beispiel) die EFI auswählen und map > map.txt ausführen. Mit fs0: fs1: fs2: usw. die Windows-ESP suchen (mit ls in die Partition schauen). In meinem Fall habe ich sie in fs4 gefunden.
In macOS wieder angekommen finden wir die map.txt in der OpenCore-EFI. Diese öffnen und den PciRoot-Pfad von fs4 in die config.plist eintragen. Muss natürlich nur gemacht werden, wenn man einen Custom-Eintrag in der config.plist benutzt.
Jetzt startet Windows auch wieder über OpenCore.
Hört sich etwas kompliziert an, ist es aber nicht und auf jeden Fall schneller als alle Anschlüsse des Rechners abziehen, ihn öffnen, eventuell die Graka entfernen,die NVMe aus- und nach der Windows-Installation wieder einzubauen.
Jeder Verbesserungsvorschlag oder einfachere Lösungen sind sehr willkommen. Die dargestellete funktioniert, da ich sie selber getestet habe. Die Windows-SSD war "fabrikneu" und ich habe die Partitonen mit diskpart angelegt.