If the policy is not explicitly set out, I think you should eat the shipping charge for the backordered fabric.
And then you should set up a policy that if part of an order needs to wait, then the customer can choose to split up the shipping, i.e., pay for shipping twice, or cancel the backorder. Kind of like Amazon tells us we can ship separately or keep it together.
Or you can charge more for shipping from now on.