You're right, I was a little bit confused. I'm using ASIO in MC's output settings, and using the JRiver driver as the output in the other program. I still get the same delay whether I'm upsampling or not. Is that to be expected?
There's two issues here: 1) the delay for initialization of the WDM driver, and 2) the actual loopback latency of the WDM driver.
There is always a short (few second) delay before audio playback starts with the WDM, but the driver discards a second or two of audio to"catch up" very quickly to the actual time at which things are playing. The WDM driver is not good for listening to short intermittent sounds, but if you're trying to monitor on an ongoing basis you shouldn't have 3 seconds of delay at all times.
The buffering settings for the driver determine what the "real-time" latency is once the driver has "caught up" (at least in a pure software loopback situation); with well-behaved devices you can get the latency down to 10 or 20 milliseconds.
FWIW you may be adding significant latency by using a hardware loopback. Why are you using a hardware loopback instead of just routing the outputs in software or in your device's software mixer? For example, why not have transcribe output to the WDM driver and have JRiver output directly to the Presonus's mixer instead of getting the keyboard involved?