Rendering a low-opacity layer

I am attempting to make a “dissolve-in” effect. You can see my node graph here.

It produces the desired effect in the viewer: the “flower logo” is the correct color (black) barely visible over the background image. However, when I render it out, the flower appears white at full opacity. See a comparison here.

Am I missing something? Or is this a bug?
Thanks for looking.