This usually has to do with how your shopping cart technically works. In your case you’re probably better off making your custom dataLayer.push from code and using it for events.
I think you could definitely do via a custom data layer, I guess I was more worried that a remove was trigger an a new add_to_cart_stape if that makes sense
Stape is in the process of updating the data layer work in Shopify app, the update will be in about a week, it should probably fix similar local issues.
But unfortunately such individual problems with the data layer can occur, as it may be due to the way your shopping cart is technically configured.
In this case you should make your own custom dataLayer.push events.
In particular there’s a clause about debugging checkout events (in short - it’s not possible, you need to publish the setting and watch the requesters in the browser network).