I believe I have located the problem. It seems that a mixer set to No Sound and a mixer set to an actual device output must be clocking at different rates.
The reason I've drawn this conclusion is because the only way I've been able to stop the delay is do a DSP_StreamCopy of the No Sound mixer and then plug that into the TargetMixer which is assigned to the physical WNIP Output and created at 48000, but with the freq attrib set to 48010 like this:
Bass.BASS_ChannelSetAttribute(_TargetMixer, BASSAttribute.BASS_ATTRIB_FREQ, 48010)
Now, whilst this works, it oddly does create ever so slight glitches on the audio. I assume this is because I've plucked an arbitary value of 48010 which is 10 more above what the mixer is set as.
So my question is, how on earth am I, as a developer, supposed to handle this properly?