Also, should this work in theory?
First ATUM would grab the product object by calling wc_get_product, then do something like $product->set_stock_quantity(5); at this point only object is influenced, and then finally ATUM calls $product->save() which triggers woocommerce_before_product_object_save before saving value to DB. Though you'd need to confirm with ATUM if this is the way (->save()) they're doing stock updates.
You could also use woocommerce_update_product which would have same $product object available but this fires after value is saved to DB - a bit more safer than woocommerce_before_product_object_save in case something goes wrong during DB update and the value is never written.
do_action( 'woocommerce_update_product', $product->get_id(), $product );