I'm on 2.4.1 and yes the same issue. I filed a bug with my theme developer thinking it was an issue with the theme as everything shows in stock but they tried it on the default Luma theme and it does the same thing. Has anyone filed a bug for this?
Not sure if helps, but try.
Stores > Catalog > Inventory > Out-of-Stock Threshold
Make sure its 0, had the same issue with 2.4
I had the same problem on 2.4.1. First I tried to disable the whole MSI, using the instructions here: https://meetanshi.com/blog/disable-magento-msi/
Bad idea. Messed up my checkout.
I then installed the Disable Stock Reservation extension https://github.com/magesuite/disable-stock-reservation and so far it's working perfectly. I see there aren't any outstanding issues on the extension and the last update was on 9 December 2020.
Hopefully this issue will be resolved in the next Magento update.
On 2.4.2 and I'm experiencing the same issue. Just had a sale that put salable quantity to 0, but it's still showing in stock.
Magento 2.4.2 Still same issue.
If only one source and one stock everything is ok.
But for multi source - we have to create new stock and assign all sources to new stock, to a store. Now here is problem.
I guess, magento by default consider - default stock to display "Only x Left"
For custom/newly create Stock, magento wont accept - because, i have 4+ sources for this stock, and magento dont know which one to display the available qty. But after customer chooses his location of delivery or store pickup location magento identifies and accept order.
Unfortunately, Magento's Default Stock wont allow me to add extra sources, i dont know why.