Yes, I think having him practice with water will help. Do the water spitting during the day and not near tooth brushing. Make it fun. If you could do it outside you could "compete" with him on who can spit the furthest.
My grandkids like to practice "swimming" in the bath tub. While doing this they get water in their mouths and spit on each other. For awhile they were spitting just to be spitting and doing it anywhere, living room, sidewalk, store. Spitting was so much fun! Their mother and I would stop them saying spitting anywhere but in the sink or tub is inappropriate. Stop it! I think this lasted a week or two.
In the meantime you could go back to using baby toothpaste. It's formulated to be safe when swallowed.
I rinse my mouth after I spit out the tooth paste. I used to use a tumbler of water but found that cupping my hand worked just as well.
Perhaps starting a different routine would help. He also will have more in his mouth to spit. Have him rinse his mouth after brushing. It could be a sort of game. "Let's get all those critters out of your mouth." sort of thing.
And show him when you spit that the water is all cloudy and needs to go in the sink instead of his tummy.
My 5 yo loves the taste of tooth paste. If we don't watch him he puts gobs on, licks it off, puts on more gobs. He'll also do this during the day.