A deep link is a URL anyone can send, and it picks a screen. So the routing table is an authorisation boundary, not a switch statement.
Placeholders declare a kind and get validated before a screen sees them. Host and scheme are allow-listed per route, query params too, and a link that matches nothing goes nowhere. Undeclared placeholder, and the route fails at construction.
Worth checking where deep-link validation lives in your app: router or screen. https://shipmindlabs.com/c/0a5f4a4a