According to the documentation, when prefetchQuery is called with the config option throwOnError set to true, the query should throw when encountering an error. Instead, the error is still swallowed (and since onSuccess / onError callbacks are not invoked with prefetchQuery, the error can not be seen).
I have a test case to reproduce this and will open a PR to propose a fix. It looks like throw error was commented out recently, possibly due to another issue.