Purtroppo non sembra che l'elemento canvas possa avere una proprietà che permetta di definire la trasparenza del proprio sfondo.

Trovi qui la discussione
To be precise, it's not the canvas element that has the globalAlpha property, but the context that you get from the canvas
Quindi quello che viene detto è che è possibile dare una trasparenza soltanto al context del canvas e non al canvas stesso, quello che ti chiedo adesso è quindi, perché utilizzare due canvas?

Non potresti caricare entrambe le immagini all'interno del tuo canvas e vedere da li cosa succede?

PS: Questa magari è una stupidaggine, ma non ho avuto il tempo di testarla quindi la chiedo a te come diretto interessato; hai provato ad impostare un colore trasparente all'elemento canvas con un pò di CSS?