Update – now resolved. It seems that somehow PPOM is indeed causing an out of stock bug on variable products. Re-saving the variations resets the stock status back to “in stock”. Just to confirm, this only affected variable products with PPOM fields. Variable products without PPOM show as in stock without any need for re-saving variations.