What we sometimes call "dithering" is actually a combination of several things:
1. dithering - essentially this is just adding noise at a particular level
before reducing bit depth. The level and type of noise required to eliminate the distortion caused by quantization (bit reduction) and convert it to noise instead of distortion is very particular - too little noise and you still get some distortion or noise modulation (noise that varies in level with the signal, which is more noticeable than just plain noise); too much noise and you're adding additional noise with no benefit. So if we add noise in a plugin,
we don't want to change the signal level after that point in the chain.
2. bit reduction - this is the actual reduction in bit depth (quantization). If we do this in a plugin, we don't want any changes
of any kind after we do it. IOW it has to be the absolute last thing in the chain - no mixing, EQ, level changes, sample rate conversion or anything else. What happens with a plugin that does this is it outputs a signal where the lowest bits are all empty (zero), so if you truncate those bits when exporting you don't lose anything.
3. noise shaping - this happens at the same time as bit reduction and effectively moves the noise/error from quantization (including dither) to frequencies where we are less able to hear it. Generally the difference between advanced "dithering" algorithms with fancy technical names is really noise shaping and not the dithering part, and different noise shaping algorithms are effectively just different EQ curves moving most of the noise to high frequencies with everyone claiming that their EQ curve is better than everyone else's. As noise shaping is done along with bit reduction, the same rules again apply -
absolutely no changes of any kind can occur after it if we do it in a plugin.