Why do convex curves with sharp edges automatically flatten?
This happens because the surface is pretty much undefined. The only guaranteed flat surface there is is between exactly three vertices. If you have more vertices without edges,  it's a guessing game for Blender, so it will come to different conclusions, depending on angle and other factors.

What you can try is using the subdivision surface modifier, simple, not cattmull-clark, in a high resolution. It will try to fill the face with edges.