I am actually surprised this works for you as well as it does, I would not expect it.
The reason being that you have a parented widget (not only in the sense of hierarchy but also in the visual sense).
I wonder what the windowing system is doing when your widget goes to full screen mode - does it detach it from its parent (visually) and out of a layout it is in?
If so, how does it know where to return it to...?
I wonder if what you are doing is a misuse of the full screen functionality in that sense.

In your place I would not have implemented it like that probably.
I would pop up a new full screen widget which would have been cloned from the parented one.
Makes everything much simpler and cleaner IMHO.