Sorry for the delay!
You're right that the setup pose is for the comfort of the animator, though it is also used for other things. The programmer can explicitly reset the bones and slots to the setup pose. When using AnimationState to mix (crossfade) and layer animations, the setup pose can be used as the state to return to when something is not keyed in the animations being applied.
You don't want to key all slots to hide attachments on the first frame of every animation. You want to minimize the number of timelines that need to be applied at runtime, and doing that would add a timeline for each slot. It's not a lot of processing power wasted, but it's completely unnecessary. The programmer can reset the slots when they change animations, if they want, eg:
skeleton.setSlotsToSetupPose();
animState.setAnimation(0, "run", true);
However, even that should be unnecessary. If you are using AnimationState and encountering the wrong attachments being shown, that would be a bug that we'll fix. First, are you using the 3.8 runtimes? If not, that is the first step. If so, can you reproduce the problem using Preview or Skeleton Viewer? If so, please send us the project and instructions on how to reproduce the problem: contact@esotericsoftware.com If you can't reproduce it there, then it could be a problem specifically with spine-ts, which is what Pixi uses. In that case, please ask your programmers to make a simple-as-possible app that shows the problem. Ideally they use spine-ts rather than Pixi, as we don't actually do Pixi ourselves (the Pixi guys integrate our spine-ts runtime).