WordPress can’t use number as page slugs

Where is what we wanted. A page example.com/404
So we had a page in WordPress so the content was controllable.

But on save the slug was changed to 404-2.

I figured maybe that slug was preserved. So after some digging I found this beautiful *ahem* if statement in core.

if (
    $post_name_check || in_array( $slug, $feeds )
    || 'embed' === $slug
    || preg_match( "@^($wp_rewrite->pagination_base)?d+$@", $slug )
    || apply_filters( 'wp_unique_post_slug_is_bad_hierarchical_slug', false, $slug, $post_type, $post_parent )
{ //....

The part it fails on is the preg_match. No number is accepted.
So it’s not just the slug 404 but every number.

The reason for this because it preserves numbers for pagination (including in-page pagination).

So the solution was to rename the page to example.com/404-page