The ShadowHelper itself renders the scene three times. One time from the light sources into the depth map (you seem to have that working), one time receivers only from the camera with a dark ambient light only, then with full lighting the depth map projected into the scene. When using a shader, it should be possible to combine the last two steps. I assume that your shader already makes a comparison of current depth to projected depth map? If you, all you need to do is to render the pixels where the current depth is larger (i.e. where your background shines through now) in a darker color instead of not at all.
The default ShadowHelper might not be the best choice to accomplish this. If you need it, i can post the sources of the ShadowHelper to ease the creation of a shader based variant.