There are a couple of ways that it could be handled, but I don't know which is more technically complex.
1. Shade the material color on just the grayscale pixels (r=g=b). One gotcha is that some things have more than one material (the anvil of a forge, the rope and mechanism of a well, etc.). Another is how to deal with transparency. I'm a fan of using the alpha channel because you can mix any color on top of it, but another alternative to treat all shades of magenta (r=b, g=0) as transparent with darker shades "casting a shadow."
2. Include completely different images with declared color sources, and this time the alpha channel seems like the only reasonable way to go for transparency. The "as-is" source doesn't color it at all, one can be colored by the first material, etc.
It's probably not too critical how background colors are handled for workshops, but it should be consistent with how background colors are handled for creatures (alpha channels or whathaveyou). Creature backgrounds are used to convey status information like underwater or attacking. Shading the floor with a garish status color seems perfectly reasonable to me, just need to change the default black background to white so things combine properly.
FYI, as far as I can tell building a workshop does not affect the floor under it. For example, an outdoor workshop can have grass under it.