The current "sit" system assumes the animation associated with sitting will always be actually sitting. However, LSL has evolved since its humble origins, and sitting is frequently used for poses that include standing poses (and a lot of other things, hanging upside down, flying, etc.)
The problem is that this makes positioning an avi difficult without them manually having to tell the script that's setting their seating position and angle exactly where to put them. This is because the agent's "agent target" (essentially their as.. their hips I mean) is always used to position the avatar relative to the prim's own sit target. But there is no way of finding out where, in relation to the agent, that agent target is.
There are two ways this might be fixed.
  1. Provide an LSL function, let's call it "llFeetToSeatDistance(key agent)" which returns, maybe as a proportion of height, or raw meters, the distance between the base of the agent, and their Agent, allowing the coder to adjust the seated position automatically by the given offset.
  2. (Maybe preferred, but might require viewer modifications), allow the prim to specify whether the Sit Target is relative to the avi's Agent Target, their feet, or, I guess, their head.
(2) would be easier and less hacky as devs wouldn't need to do any calculations to make sure the avi looks correct when playing a standing animation. But I can imagine (1) might be trivially easy to implement.