How can I avoid trace clipping at y=0 when yaxis.range is [0, y]?

I’d like to avoid clipping the traces at y=0 as seen in this codepen. (I exaggerated line width to highlight the problem). The problem goes away if I avoid setting yaxis.range or if I start the range at a small negative number, but I can’t do this in my application for reasons that would take too many sentences to explain.

I thought this was what the new axis.layer: "below traces" setting was for, but it doesn’t seem to do anything so maybe I’ve misunderstood. Is there a way to fix this while keeping a manual yaxis.range?