I received this error when running nix-shell from the plutus repository. To fix I exited that nix-shell, navigated to plutus-apps repository, and checked out the appropriate hash from the cabal.project file found in the cabal.project file. Then ran nix-shell from plutus-apps instead of plutus.
Installing the required toolset in an Ubuntu VM is perfectly fine and quite documented. In fact, it is the method used by many, as it isolates the environment from the host avoiding problems in certain cases. You can check this recent thread for more details:
Plutus environment set up: pro and cons
Be aware that in any case, your Win11 host, a vm on it, a ...