First of all: props for the beatiful override with the modal gift form!
I tried to reproduce your issue on mobile (Android) but the add to cart buttons don’t work. Instead I used ?add-to-cart= to test…
After adding several pizzas and gifts to the cart and then reducing the amount of pizzas; the amount of gifts on the form were also reduced.
Please use the dev tools of your browser to verify if the ajax fragment received after “update cart” has the right amounts.
I’ll try it from a desktop later.