Looks like OpenTripPlanner does it: https://wiki.openstreetmap.org/wiki/Key:area:highway#Differentiation_area:highway_vs._area=yes_on_a_highway

A list of issues to track for other routers: https://github.com/osmlab/osm-planning/issues/17