Windows and macOS provide hide/unhide mechanisms that preserve windows location and size. I expected that on windows and macOS hide/unhide shouldn’t cause window reappearing at different location. I tested on both systems… and it simply reappears in the middle of the screen. I think this is not a big issue to fix.
There is nothing to fix: GTK does not support positioning windows, and defers to the window management stack for everything related to the location of a window on every platform.
You do not need to reposition anything. Just to use proper methods for hiding/unhiding windows on windows at least. On windows it is very simple call ShowWindow(hwnd, true|false).