im not sure but i think i had dome something like this before.
first i thought you got no transparent background but blackNoalpha is 0,0,0,0 so should be fine.
have you tried change:
fb.setColorBuffer(Format.BGRA8);
to something else? it looks like it read background color properly, but alpha is not passed into image.
also i noticed in some old forum topics about:
gl.isExtensionAvailable(“GL_EXT_abgr”)
that was required for alpha render before. not sure if now.
also found some old topic(2011) using createPreview (that now still exist because i used it before)