I didn’t try to plot anything in black. So I’m not sure where the black is coming from.
When none of the conditions in Piecewise apply, it will return 0 by default. For ColorFunction, this is interpreted as GrayLevel[0], in other words, black.