My explanation was insufficient. The problem I'm having is that if I change the chest backpack with the BelongingsUMUPlayerContainer open, its contents will appear in the backpack slot. However, if I make changes to the backpack slot in that state, the changes are not saved when I close the container. When I reopen it, it will return to the state before I made the change.
In AbstractBelongingSlot, unlike the SlotItemHandler class, itemHandler field is dynamic (not final). When SlotItemHandler class references an itemHandler, it's basically via getItemHandler(), so I can override it to return a dynamic inventory. However, some methods that are not related to the inventory contents refer directly to the itemHandler field. In other words, the itemHandler field is fine with dynamic inventory, but I'm just passing another baseItemHandler to get some elements. Its contents are not used. You don't have to worry about it.
What do you mean by this?
All the time. The inventory slots are checked for changes every tick on the server and sent to the client if they change. The client communicates any slot interactions to the server as well.