The clue came from reading about the trickery required to run it in VirtualBox...the camera disappears and re-appears as a different device after it is rebooted by the program...
I opened a PowerShell window as admin and another PowerShell as admin and started WSL in the second window (may not require admin for the WSL window, but MUST be admin for the PowerShell window to attach the USB device or you will get an error).
Both windows must be left open.
Before starting the demo (and causing camera reboot), the camera showed up with ID 2-4 using usbipd wsl list , so before running the depthai demo in PowerShell, I attached the device to Ubuntu:
usbipd wsl attach --busid 2-4
I started the demo in the WSL window and then switched quickly to the PowerShell (without WSL) and used usbipd wsl list repeatedly...after the camera rebooted it changed to:
2-20 03e7:f63b Luxonis Device
So immediately after starting the demo program, I quickly switched to the non WSL PowerShell and repeatedly executed:
usbipd wsl attach --busid 2-20
This failed several times while the camera was rebooting, and then succeeded when the camera reappeared as a different device.
Note that the BUSID numbers 2-4 and 2-20 will change from time to time, but seem to be consistent during any single PowerShell / WSL session.
This requires a bit of fast switching between windows. I already had usbipd wsl attach --busid 2-20 typed into the PowerShell window and ready to execute repeatedly.
Now to write a batch script that somehow automates this entire process in the PowerShell side...