It's a mutter bug for sure, it gets confused when the override-redirect attribute changes. This probably doesn't happen that often in general or with other applications, and only does in Wine as we're using it for some specific windows.
The attached test executable is enough to reproduce the issue (and confirm that it's fixed with this change). [test.c](/uploads/ff28611a1c52cae13ee372238453fdaf/test.c)
Fwiw the issue seems to reside in a dedicated window tracker mutter uses to decide when window frames are needed. The tracker checks whether the window is override-redirect at creation time, and will begin tracking the _MUTTER_NEEDS_FRAME property changes only when it's a managed window (https://gitlab.gnome.org/GNOME/mutter/-/blob/main/src/frames/meta-window-tra...).
If the attribute is changed at a later time, the window will still not be tracked, and mutter frame handling gets broken (which ultimately somehow leads to window getting minimized forever). It could probably be fixed by adding a ConfigureNotify case there, but I think the workaround on our side is simple and would be nice in the meantime.