Unapplied object scale. ctrl+A -> scale to apply. Makes the mesh dimensions match the object which is important for tools and modifiers, and ensures it doesn’t change size when exporting
Subdivisions need to be supported. One way to do that is with creasing.
Select sharp edges, shift+E and move mouse until it’s full 1.0. Add subdivision surface modifier.
One of the n-gon faces creates a problem with subdivisions, need to cut it.
Add a loop cut around, ctrl+R
Select vertices and cut the existing face in between to connect, J. Both sides
That changes the subdivision pattern so it doesn’t push through the form anymore. Should be enough. If not you could try addding creasing for the added edges too, and adding more parallel loops to support the subdivision on that corner.