I’m having the same problem. I have two different shipping classes and want one to have a flat rate shipping fee while the other has free shipping. All within the same zone (Canada). I don’t understand how to get this to display for the appropriate product! The flat rate shipping products show up with a flat rate AND free shipping option (which is dumb, because a user can just choose free shipping before checkout).
PLEASE HELP WooCommerce masters!