SATB is a buffer which sit in VRAM,the SAT is the true sprite table attribute which sit in a VDC's internal buffer and cannot be accessed directly.
The official English documentation uses the opposite names for the areas.
SAT is the one in VRAM, and SATB is the 512-byte buffer in internal VDC memory that the VDC's sprite hardware uses to actually display the sprites during the frame (saving memory bandwidth).
And finally a question about SAT and SATB which makes things even more confusing for me.
...
But on about every documentation I can find online, people have the terms SAT and SATB mixed up. Even Mednafen's debugger seems to use SAT for the internal VDC memory.
...
Is it Hudson that are using confusing terms or did I completely misunderstand the dev docs?
You understand the basic process ... don't get hung up on the naming.
Hudson are consistent in their naming within the documentation, but the English docs have only been "public" for a short time, and people are just used to calling things by the opposite names.
It doesn't really matter what the names are ... you could reasonably consider either location as the "original" and the other as the "buffer", it's just a naming convention.
The important thing is how the 2 copies work in practice, which you already understand.
But you've got the Pattern Code calculation wrong ... VRAM $4100 -> Pattern Code $0208.
It's a divide by 32, not the divide by 64 that you'd expect given that a 16x16x4 sprite is 64 words of VRAM memory.
I'm guessing that they originally designed the addressing to allow for a 4-color-sprite option.