An invalid URL doesn’t have to return a 404, it depends on the remote server. In your case you with an invalid URL you will get no status code, you get a timeout error probably. I see that those are not good captured in PHP, will see if we can improve that.
I have to rethink this, the Pass Errors it to pass the errors from the remote host, so when it is returning a 404 or 500 error. It was not for errors in the action file, like when having a invalid URL. It is possible to capture these with the catch in the server action and the handle it there, I’m not sure if invalid input should be seen as API errors and should be handled as if the errors came from the API.