I’d add a normal GET request alongside curl -I in the test. -I sends HEAD, so it checks the headers but doesn’t give you the page body.
Keep the GET status, redirect chain and returned HTML together for a valid page and a missing one. That catches cases where HEAD and GET are handled differently, and makes it easier to tell whether the 200 is actual page content or the fallback shell.
The existing route-state table is a good basis for that regression check.