Just putting this one up in case other people find this issue. I have logged it with Shopify a few months ago, but I haven't seen any fix for it yet. My workaround is working, but it's a pain to admin.
Two warehouses, one in UK, one in EU. UK Ships to UK, EU to EU (plus others, but not relevant).
Product cannot cross this border, so stock in the UK cannot compensate for missing stock in the EU warehouse (and vice versa).
Each warehouse has shipping rules so that they can only ship to their locations.
Each warehouse has their own stock on the product page and the stock level is tracked.
Despite having no stock in the EU warehouse, and no way for the UK to ship to the EU, the product can still be added to cart and purchased. The 'tracked' stock in the EU warehouse then reduces to -1.
Overall, even though the UK has no shipping rule for this item it's given the order.
I've created multiple shipping rules where now I have stock that can only be sold in the UK, only sold in the EU, or available in both. However, I have to move each of these manually as stock gets low (so I can never sell all the stock). I've also had to remove the default shipping to ship nowhere, just make sure new products don't accidentally get added to the wrong group by default. To add to the complication, I do have some products that can move across the UK/EU border, so I have an extra rule for them too.
Anyway, I'm writing this post to see if anyone else is having the same problem, see if there are other workarounds, but also hopefully find out when it's fixed!
I just need a product that's in two warehouses to abide by its shipping rules and not bypass it just because it can see there's stock in another part of the world!