Motivation behind using an outbound listener per service instead of a single outbound listener with multiple filter chains

Hi, I have been reading through the istio docs. Based on my understanding, Istio makes use of 2 virtual listeners - inbound and outbound. While the inbound listener is simple and has filter chains for redirecting traffic to the local service, the outbound listener is configured to route traffic to services by relaying it to a per-service/port listener.

I am interested in understanding what the motivation is to have the virtual outbound listener to use the ‘originalDst’ flag, thereby not implementing the application specific business logic using filter_chains->filters->route_config->clusters->endpoints itself, but rather relay it to a port/service specific listener that implements this logic.

What are the tradeoffs compared to having a single outbound listener as opposed to it being 'Virtual" for egress traffic outside the POD?

If there are documents explaining this, please share them.

Thanks!