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 ...
Set the 'From' name and email address for the sender.
It is a virtual product and this product is a WooCommerce Name Your Price
All product orders require processing, except those that only contain products
in the pages mentioned above, but not as names but AS SLUGS.
[This thread is closed.] Hello, after upgrade to WooCommerce 4 order email not showing product details only product title. On pages is everything OK.…
FIXED: virtual event information not showing in the ticket email
an issue with how the Trademark symbol (™) is displaying on the woocommerce new order email template. It display as an image instead of the symbol being part of the product name. Also
Billing details; First name; Last name; Company name; Country; Address; Town/ City; District; Postcode/ZIP; Phone; Email address; Order notes
Clicking on orders no longer shows order items (products). In other