Consensus on Discord is that the sub doesn't get ignored until Recover is called, meaning Toxic would be performed normally. Reading the handbook, I'm inclined to agree.
"Any time a Pokemon is told to do something it cannot... the substitution is ignored and the Pokemon uses whatever it was going to use in the first place." seems to imply that the substitution is only ignored at the time an invalid move is commanded.
What did surprise me, though, is that without a second instance the third instance can't trigger either. So, apparently, the correct moves would be: Toxic ~ Mud Bomb ~ Mud Bomb. That's how I'll fix the round next time I have access to a computer (probably in about 12 hours?)
Sorry for the delay and thank you for your patience.