Yay! You’re nearly there!
and not vertical, as it appears to be in Codea
y only appears vertical to you because you are holding your iPad up in front of you. If you hold it flat, y will be forwards. So your decision to call y vertical depends entirely on how you are holding the iPad, and will differ for different people. If I’m lying on my side while coding, the y direction will actually be along the sofa and the x direction will be upwards. Should I then say that x is up? So the coordinate system of the viewer is unreliable and to be avoided. Better to use the coordinate system of the world where z is up, y is forwards, and x is right.
The right-handed convention for axes is pretty much universal. While it may not be obvious to you, and you may have found a few others on the internet for whom it is similarly confusing, the vast majority of programmers will be used to right-handed axes and all of the literature assumes right-handed axes so OpenGL would be seriously shooting themselves in both feet if they decided to go for left-handed coordinates.
And you do not have to make z values negative. There is no obvious default position for a camera in 3D, so the fact that OpenGL initialises it to where it is does not mean that the OpenGL designers think that that is where it ought to be. You are meant to think about your scene and place the camera where is best for that scene. If your game is a “top down” type of game, you would put the camera at something like (0,0,100) looking at (0,0,0) with (0,1,0) as “up”. If your game is a “player viewpoint” type of game, you would put it at (0,-10,0), again looking at (0,0,0), with (0,0,1) as “up”.
You should thus think of OpenGL’s default position as that they’ve left the camera lying on the floor with the lens pointing downwards (presumably to avoid getting dust on it). You are meant to pick it up and point it in the direction that you want. But only you can decide on where to put it and what direction to point it in.