What you're seeing is that the background color is being mixed in with the semi-transparent color of the polygons. This results in the new mixed color that you see. This is very much by design and there's no way to disable it.
Think of a black circle on white background -- when you set its opacity to 0.5, the white background can be seen through the circle and the resulting color is 50% gray.
You can't really prevent this from happening if you want to use transparency unless you set the background to exactly the same color as the semi-transparent foreground.