the win32 backend remembers window positions. the win32 backend also kinda supports calling imshow() from different threads, although that is not recommended.
did you install something that pretends to run on linux? something that uses GTK or whatever?
OpenCV highgui does not have a “snapping” feature. if anything snapped previously, it was something specific to your system.
DO NOT install an “older” version. that is NOT the issue.
install opencv-python
natively, not in msys2 or docker or WSL2 or any of that. install it natively. install python natively. don’t install anaconda/conda/whatever. install plain python, natively, and opencv-python, natively, in native python, with pip.