If you require specific behavior, your best option is to use a plain SurfaceView rather than a GLSurfaceView.
GLSurfaceView is just a SurfaceView subclass that handles threading and EGL context management. You can find multiple examples of GLES use with plain SurfaceViews in Grafika, including some handy classes for working with EGL.
When OpenGL ES was first introduced into Android, the device could only have one EGL context at a time. Not one per app, one per device. This is why GLSurfaceView is so aggressive about releasing the context. It's still a good idea to release the context and any associated resources when an app is kicked into the background, since you don't know how long it will be there, and it's good practice to play nice with other apps.
In any event, you can tell if your context was preserved by trying to use something in it. If the attempt succeeds, you can assume you've still got the same context.
There's some notes for older versions of Android in this question, though some of the answers are a bit dodgy.