Why does the math node change the noise texture's color output to B/W?
This is because the math node only deals with single scalar values (note the gray sockets).
See What is the meaning of the color of the node sockets in the node editor?

If you use a node with yellow sockets (Color > MixRGB), it will maintain all the color channels: