If you became upset when he pooped in the water, I suggest that he's afraid he'll do it again and upset you. I suggest that pooping in the water happens more often than we realize because bath time relaxes baby and the poop just comes out. Your son is unable to control it.
I also suggest that it's not a big deal. Poop is clean until it's exposed to air which allows bacteria to grown. I just scoop it out and continue with the bath without saying anything.
I think you're on the right tract to just not have baths for a couple or more days and thus give him time to forget about it. If you did get upset it might help for you to tell him you're not upset with him; that you were surprised and worried but that you now know it's OK and won't get upset again.
I suggest that even if you weren't upset, that the sudden stopping of fun, draining the tub and quickly trying to turn on the shower was upsetting to him. He didn't understand and assumed something bad happened.