Confusing....am I sure I want to answer my question? Thanks to the comment from Christian that led me straight to the answer, I am, yes!
I did the following in a zsh window:
That fixed it. So I'll be adding that to my ~/.zprofile.
It looks like you had the 'shellpipe' option misconfigured to just a | instead of a | tee (which would work on Linux/Unix/WSL) or > (which would work on Windows.)
You can find the value this option is set to and the origin of this setting with:
:verbose set shellpipe?
As discussed in the comments, resetting this option to the Windows default worked to ...
This is happening because while :make! doesn't jump to the first error message, it actually sets the quickfix cursor at it. So when you use :cnext it will actually try to go to the second error, which in your case doesn't exist. (You can easily prove that yourself by creating a test case that produces more than one error.)
If you use :make! and then want to ...