After upgrading my Umbraco installation from 4.9.1 to 6.0.0 I came across an issue where my custom error pages were no longer being displayed and instead the default IIS 404 page was being shown.
My configuration looked correct in my umbracoSettings.config:
<!-- the id of the page that should be shown if the page is not found -->
<!-- <errorPage culture="default">1</errorPage>-->
<!-- <errorPage culture="en-US">200</errorPage>-->
Turns out I was missing the following httpErrors element in my web.config:
<httpErrors existingResponse="PassThrough" />
Adding this into the system.webServer section fixed my problem. I'm not sure if this is a v6 bug/omission or I accidently removed it but it is the fix nonetheless.