Hello,
I was able to find the bug, it has to do with how WooCommerce handles direct PayPal Checkout on the product page. If the customer uses the “PayPal Checkout” button directly on the product page (rather than first adding it to the cart and then checking out), the product gets added to the cart without the meta fields attached (even though they’re listed as required in PPOM meta settings). There must be something slightly different about the PayPal Checkout work flow in WooCommerce when checking out directly from the product page.
By disabling the button for PayPal Checkout on the product page, it forces the customer to add the product to the cart before they can check out. Since all PPOM Meta fields are required they end up attached to the product in the cart and therefore end up attached in the order.
Thanks.