Yeah, the texture generator is currently a direct copy+paste of vanillas LayeredColorMaskTexture, which is used to generate banners.
I started off with just using that class, but that didn't work so I copied it over to my own to make tweaks. This is my first time playing with texture generators so I don't really understand it very well yet.
I've managed to seperate the transparent pixels, even manipulate their colour. But I can't seem to get the alpha channel to actually work.
https://hastebin.com/ogalajogux.hs
I've trief 0x00 and all its counterparts I could find on the internet for just a transparent RGBA value in bytes. No luck there, just renders as white or black.
As for the blend func change, I've switched my source factor and destination factor to match what you've suggested, but not changes. The original elytra layer uses source factor one & dest factor zero, so I figured it'd be fine.