The spec <http://dev.w3.org/csswg/css3-images/#gradients> says that interpolation should be in premultiplied color space, which we don't implement (and is not possible to do in CG).
I've noticed this greyish effect in Safari across a few project. It can be worked around if noticed and appropriately adjusted in the CSS, but until today had never understood why. Wanted to share the project I was using to test the effect (https://codepen.io/argyleink/pen/KKVoboe), and mention that example #23 in the spec talks about this effect as well.