gps attitude is not the same as indicated altitude
if atc says your altitude is off maybe you have a leak in your pitot static system
have you had a transponder pitot state check done?