I think there’s some kind of a confusion about concepts here. 200 status has nothing to do with Netlify, Gatsby or anything. It’s just a HTTP status code which says that the response was “okay”. It existed well before Netlify or Gatsby existed and will continue to exist for quite a lot of time.
If your files exist and the server is able to send the files upon request, you’d get a 200 status code, irrespective of whether you use Gatsby, some other framework or manually code your entire website. So, using Gatsby is not a blanket to protect you from non-200 status codes, and just to add to that, you probably don’t want a 200 status code in all situations.
200 - Ok
301 - Redirected
304 - Not modified
401 - Unauthorized
404 - Not found
and many many more… Those are just the most common ones when building static websites, each of them is important and serves a purpose.