One obvious workaround would be to make your background sprites fully opaque (you'll have to "bake" the gradient in to them) and put the sun and the moon sprites on a Layer behind the BG layer/Objects. Of Course, the way you have it now provides the opportunity to blend the the BG sprites with the BG sky color, like an atmospheric haze and you will lose that ability...
I am also interested in ways to do masking, I am forced to believe that there isn't an easy or effective way to do it in HTML5. And yes, I've seen the blend modes template, for the love of god, I can't replicate anything useful from that.
Masking should work like clipping layers in Photoshop or, even better, as within After Effects and have the ability to exist from object level (use a sprite to mask on other sprite(s)), to layer level (use a layer to mask other layer(s)).