Thanks for the responses.
Naman, my original script used muteHttpExceptions: true, I just changed it for this example to try to get it to return exceptions.
The issue isn't that the error is being thrown, the issue is that the error is happening to begin with for no reason. As Killian stated setting muteHttpExceptions doesn't actually stop the error from happening it just makes handling it a little better. Which my original script used muteHttpExceptions: true.
I have a work around in mind with some error catching and multiple fetch attempts, but I will contact the Apps Script team to see if they have any insight related to this issue.
Thanks
Greg