Try making the routes for the express route a bit more specific then the S2S routes.
Also, take a look at the local preference:
"The default local preference of the CE routers and firewalls in our on-premises setup is 100. So, by configuring the local preference of the routes that are received through the ExpressRoute private peerings greater than 100, we can make the traffic that is destined for Azure prefer the ExpressRoute circuit."