When APICAST_PATH_ROUTING_ENABLED=true, APIcast first iterates over all services to find a service with:
a) a matching public base URL
b) a matching mapping rule
However, if such a service is not found, APIcast falls back to the standard service matching algorithm which is – to pick the first service with matching public base URL.
After the service is selected, APIcast first checks the authorization, and then the mapping rules. If the credentials are invalid for this service, the error that you get is "Authentication failed".
The request is to change the logic of the path based routing logic, so it returns something like '404 Not Found' in case no service could be found for the Host + Path of the API request – instead of picking the service with the matching Host.