Finally, I found the root of the issue thanks to this question, it seems when woocommerce_new_order is called the order is not yet fully ...
as 'customer processing order' email in woocommerce – that email does not
Notification Recipient – Enter email address for notifications.
WooCommerce email not sending can often be traced back to the fact most
All product orders require processing, except those that only contain products
WooCommerce allows users to send customized order emails and alter the default template.
Check if emails are sent, but not received ↑ Back to top · Generate a test order · Go to your admin dashboard > WP Mail Log · Check that your test order generated ...
And including related products and coupon codes can even lead to
Upon Release – A pre-order product charged “upon release” is not charged until
While additional details like the product photo or SKU are not present in