If the subscription shipping is free but the gifts shipping is not see this recharge FAQ:
https://support.rechargepayments.com/hc/en-us/articles/360023047374-Shipping-FAQ#h_ec3dfca8-1cf4-48fd-a1f3-a401feab579c (it uses a 0 weight hack)
And recharges workflow on it’s custom shipping rate service
https://support.rechargepayments.com/hc/en-us/articles/1500001819242-Using-the-Custom-Shipping-Rate-Service
If you haven’t already with anything like this where a platform/service has already been preselected you want to reach out to that platform/services support.
Would customers be fans of free things that actually end up having a cost?
If you do this you’ll want to a/b test for checkout abandonment.
If on shopify Plus use checkout-scripts for shipping.
If on advanced or lower plans the fast solution is to have the gift be heavily discounted behaving as an upsell, or through an upsell app. Not discounted lower than the shipping cost to leave future flexibility in a full complex setup to try the free for cost of shipping offer.
This can be done in tandem with a frontend customization so the gift price does appear as $0 inside the /cart though the actual price will be reflected in checkout.
Or the shipping fee is tacked onto the cost of either the first months subscription or baked into the monthly subscription price.
This can drastically simplifythe setup required instead of the force multiplier of systems: free item + free item shipping + subscriptions + subscriptions shipping.
Beyond that It can help to reword such things into the possibly separate pieces then research and attack each requirement separately:
Need to add a free gift to the users cart, checkout, or order.
Need to make a gift free with discount based on a condition.
Need to charge shipping for the free gift.
Need to combine a shipping rate for the gift item with the shipping rates for subscription items.
etc.