500 mile upgrades are only based on direct distance if all of your upgades clear before you check-in. If they don't clear before you check-in you will be chraged segment-by-segment. When you apply for them online it shows the worst case scenario, but if they clear before check-in it will automatically apply the direct distance only.