With further research, QtUbuntu actually gets a fullscreen surface, as the methods ua_ui_window_resize and ua_ui_window_move in platform-api are stubs. Instead Qt doesn't draw above the panel as we set the y coordinate as non-zero in QPlatformWindow::setGeometry.
So correct fix for this issue is for platform-api to implement those stubs, and remove the non-zero y geometry coordinate from qtubuntu.
With further research, QtUbuntu actually gets a fullscreen surface, as the methods ua_ui_window_resize and ua_ui_window_move in platform-api are stubs. Instead Qt doesn't draw above the panel as we set the y coordinate as non-zero in QPlatformWindow ::setGeometry.
So correct fix for this issue is for platform-api to implement those stubs, and remove the non-zero y geometry coordinate from qtubuntu.
Mir is not to blame