Yes, these 4 bytes/pixel are intentional because that's the format that the textures internally have. Even textures without an alpha channel defined in the file have one.
And yes, the restriction is necessary or otherwise, it won't work. Any other format would force me to convert it on the fly and that's out of the scope of this method.