@Pl45m4 I thought as much. As to the question how the app should know: Well, the window manager knows, and Qt should be my adapter to the system's window manager. But I do agree that it's something one doesn't need very often.
I've now implemented a workaround: I've subclassed the QQuickView and connect a slot to the following signals:
In the slot, I first check if the window is in maximized state. If not, I store the current window geometry.
When persisting the window state, I store the geometry stored in this subclass, not the one returned by QWindow::geometry().
When I restore, I can first set the geometry and then open it in maximized state. When I now unmaximize it, I get desired geometry.
In any case, thanks for helping me out and confirming that this cannot be accessed directly through Qt's interface.