May be this can be of some help.
Like you I had to do IMU calibration on first power up. And at first I also failed. Several times even. More precise it took me a few to figure out what was wrong, at least in my case.
For the
p4p IMU calibration steps 1 through 4 are the same in the videos and in the GL300E app. Yet, there is a difference between the app instruction and the youtube videos involving step 5.
In step 4 you have to tilt the drone with the camera facing you, nose down. In step 5 the instruction video tells you to tilt the drone backwards, sitting on its butt with the camera facing you. Also the GL300E app tells you to let the done sit butt down, but with the butt facing you and NOT the camera.
This difference between app and instruction video is very hard to observe from the app images 4 and 5, as well as when the app calibration step 4 is finished, as the image differences between image 4 and 5 are very subtile. I missed them twice as I was paying attention to the video rather than the app.
Later whilst viewing the app images only, the transition from app image 4 to 5 is still very hard to see, yet, that image changes can be observed. Just watch for the camera in image 4, and the absence of the camera in image 5. There you see the butt.
The final step 6 indeed requires you to flip the drone upside down, on its motors (no propeller attached), with, note, the camera again facing you.
This is what worked for me and I hope it works for you too.