First, this feature leads to an horrible behavior on
Windows where the application ends in a loop of endless
minimization and restoration, probably because the window
manager minimizes or restores the whole application once
a floating window in minimized or restored, leading to a
race condition between all floating windows, some being
minimized and others being restored at the same time,
triggering the minimization and the restoration of the
others, and so on. It's difficult to say such issue
will never happen on other OS or with some window manager.
Second, those floating windows are expected to be displayed
or hidden using menu or keyboard shortcut, it's a design
choice. Then the OS-specific way to minimize/restore them
is superflous and less efficient.
Finally, the mainframe is not created as a floating window
so the user minimizes the application by minimizing the
mainframe.