OpenGLES and OpenGL are slightly different. While the former is based on the latter they don't share all functionality. The OpenGLES version of glReadPixels mandates GL_RGBA format and an implementation specific format which can be obtained through glGetInteger with argument GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES. Nothing else.
From your description it looks like glReadPixels failed (GL_RGB not supported -> undefined buffer content, just check glGetError response). I can't say off the top of my head what the usual implementation response to the extra format is. I suggest you find out or stick with GL_RGBA.
See also
Also, why do you decrement width and height by 1 for reading? You don't specify a coordinate but dimensions, unless you have a specific reason to do so