Hello there,
I understand you’d like to charge only for the most expensive shipping class in each order.
You can do this by following these steps:
1. Go to your site’s dashboard.
2. On the left sidebar, click on WooCommerce -> Settings.
3. Click on the Shipping tab.
4. Click on Shipping classes.
5. Create the names of shipping classes as needed by clicking on the Add shipping class button.
6. Assign the appropriate shipping class to each product. (https://woocommerce.com/document/product-shipping-classes/#section-3)
7. Go back to Shipping zones under the Shipping tab.
8. Click on each of your shipping zones and edit the Flat rate settings.
9. You should now see the heading Shipping class costs.
10. For Calculation type, select Per order: Charge shipping for the most expensive shipping class. Don’t forget to add the fee for each shipping class too. (https://woocommerce.com/document/flat-rate-shipping/#shipping-classes)
You can read more here: https://woocommerce.com/document/product-shipping-classes/ and https://woocommerce.com/document/flat-rate-shipping/.
Let me know if you need further help.