The same issue is can be reproduced on Cygwin so re-implement the msys2-specific fix using cygwin_conv_path() instead.
When using a Python virtualenv, and launching it with a Windows or Windows mixed path (C:\msys64\tmp\virtualenv\bin\python.exe or C:/msys64/tmp/virtualenv/bin/python.exe), sys.prefix would always be returned incorrectly as '/usr'.