I’ve responded to you privately, but will post here to close the loop as well. Apologies if the health check URL listed in the dashboard is confusing - the health check is not run on the external URL, but rather the address accessible by the internal-hostname:port. We’re working on making this more clear in the dashboard.
The health check just needs to respond with a 200 status in order for the service to be marked live - which I see that your endpoint is responding with, despite the error you’re seeing in the logs.
Thanks for the additional details. After some further testing, it does look like this is a bug, specifically with the free plan. We’ll be filing a bug report around this to fix it!