I'm not sure if this is a bug or not, but double check that the priority of the shipping promotion is _lower_ than all the others, as they execute in that order. So if it was first in priority, there is no such thing as discounted price yet :)
@Joel --> You are totally right! 👍
Changing priority solves it.
For reference: https://webhelp.episerver.com/latest/en/commerce/marketing/prioritizing-discounts.htm
The promotion engine seem to calculate "free shipping discount" based on original price, not the discounted item price. Is this intensional or can it be considered a bug?
Here is an example from Foundation site - I've added a discount "free shipping if you spend more than 200 USD". As you can see from screenshot below, I get free shipping even if item total is less than 200 USD (sub total is 280USD).