Possible fix.
Current setup Surface Dock 2 with Surface Laptop 3.
Same issue: both monitors detected by Windows but no display on one of them.
Went thru tech support with Microsoft. Did the round of updating everything, rebooting, reinstalling, etc.
Had the original Surface Dock that works with no issues with both monitors. Also tested the usb-c cables to ensure they are not the problem.
After being annoyed at the problem i actually returned the Surface Dock 2 and bought a new one but had the same exact issue!!
What I did to fix?
Reading some of the posts here I found that the Windows Intel Iris driver was bad so tried to install the latest directly from Intel but the problem persisted. However it did point me at playing around with the driver. I found out that setting up the refresh rate to 75 HZ actually made both monitors respond.
I have been doing tests. Disconnecting and rebooting, while leaving the display rate at 75 HZ has made the dock work with both monitors. At this point I truly believe this is a bug. I'm still a bit hesitant about keeping the dock as I don't know what other issues it may have.
Lastly, I know other monitors support different refresh rates but the point is that the dock may have issues with the default setup. Try changing the refresh rates to see if they are picked up.