Is it possible that the transponder reports an altitude from a selected altimeter system (cpt's or fo's ) and the TCAS uses a built-in altimeter, just for TCAS reasons?
Even when an altimeter is used to encode the altitude (an encoding altimeter) rather than a dedicated encoder, the value encoded is still with reference to 1013.25. Changing the subscale setting only moves the hands on the face of the instrument itself (or does the equivalent in software for you folks with tapes). It doesn't affect the encoder output in any way.