Please note that depending on the cause/originate of the outage the error page is displayed by different component. For instance, this screen is shown by Fastly for 5xx status codes and sometimes those originate from the AEM application, sometimes not.
For the cases which originate from AEM, just an idea, I imagine the response could be caught and somehow transformed into a different status code which Fastly doesn’t react to, enabling AEM to own the markup. For the cases which do not originate from AEM (such as unhealthy pods) if you are using an Akamai or some web server front (connecting to Fastly) you can add the custom message there.