I get a “ProductUpdate access denied” when trying your method.
Is it possible to update public product metafield?