Turns out, I didn't understand quite how the routing table works in Linux. Here is a good high-level description of how this works: (thanks to wurtel over at stackexhange: https://unix.stackexchange.com/questions/188584/which-order-is-the-route-table-analyzed-in)