Yep, we must distinguish between 2D and 3D. In 2D, having 0,0 in the upper left in a game engine and counting by pixels to the right and down makes positioning things more intuitive. That's an abstraction by the engine. APIs handle that differently.
Same in 3D, there's a depth range, and world coordinates, which are transformed by a set of matrices to fit into the NDCs of the API. But I am not sure if you usually bother with these things (for instance whether depth range is 0..1 or -1..1 or the handedness of the coordinate system) when working with the editor, as you don't build your own viewports or matrices, the engine abstracts that away.
That's why I am bit confused about the -y up thing. That can happen when look-at-matrix- or viewport-parameters have been mixed up.