[Routing] Use correct exception message in ChainRouter::match()

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Allow ChainRouter::match() to use the correct exception message when a RequestMatcherInterface router is used.

Currently, even if doMatch() is called via match(), as long as the router cares for a request, it will create one and the exception handling will not use the path-specific message, it will use the request-based message.
shouldn't we then move this code to before the foreach loop, so that we only need to do it once?