When you apply attachment compensation (the Images
button in the UI) in animate mode, it moves the vertices for the visible attachments using a deform key. It doesn't set deform keys for attachments that aren't visible.
When you set a deform key, the key stores an offset in each bound bone's local coordinates. For every bone, the position where the bone wants the vertex is moved by that much.
When you update bindings, Spine uses the world position of each vertex, converts it into the local coordinates for each bound bone, and stores that for each bone. That is called the "bind pose" and it is the vertex positions where all bound bones agree on -- all the bones want the vertices at the same position. That's why when you change weights, the vertices don't move. If you move one bone, that bone will want the vertices elsewhere, while all the other bones will continue to want the vertex where it was. The weights control the influence of each bone on the vertices, allowing you to have some vertices move more with one bone than with another.
When you update bindings in animate mode with a deform key set, the bindings you store are based on the vertex positions with the deform key's offset added to them. When you delete the deform key, the vertex positions are different, so they jump.
Probably you want to do your work in setup mode. In setup mode there is no deform keys, the vertices are changed and for all attachments, not just the visible ones. It also works on region attachments, which can't work in animate mode.