I thought I'd give you a quick update. I ordered a bunch of pre-wired 6P 1.5 pitch connectors, and by measuring the output of the ports, I figured out the wiring. I just got an XL motor to work.
On the LEGO+ module, the ports are labeled n V B A G M+, with "n" the number of the port, 1 - 4.
The LPF connectors are wired as shown in https://freggelweb.de/bauanleitungen-nxt_pf_steckerbelegung.html; if you place the connector with the studs up and the cable towards you, then the four wires are (left to right) 0 C1 C2 +V.
When making a connector, the connections should be as follows:
0 <--> G
C1 <--> M+
C2 <--> n
+V <--> V
the A and B wires remain unconnected - I don't know what these are for yet.
I opted to crimp simple DuPont connectors to the wires as opposed to soldering them together with heat shrink tubing because this way I can also connect everything to a breadboard (which is what I used to test the wiring in the first place).
When operating directly from USB, there is obviously (exactly) 5.0V available, which means that even when using PWM=255, the motor doesn't rotate very fast. My next plan is to make a LPF connector for the (yellow) XT30 power input on the LEGO+ board, so I can drive the whole thing from a standard LEGO battery box.
I also ordered a LEGO Servo motor, but this is on backorder and hasn't arrived yet. I know that this is operated via a rather specific PWM scheme, so once it arrives, I'll see if I can get that one to work.
Sander (and son Ruben)