you may try mavproxy to do direct commands on the i2c bus to check if the sensor is actually ist8310. another way is to build firmware with from the custom firmware builder and uncheck qmc5883 so it wont get detected. if after flashing this firmware you see no compass, then its qmc5883.
most likely your compass is qmc5883 only. make a log and check if the mag[0] field has data of the magnetometer and check its health.
I’ve had strange issues when I try to swap GPS and compass on my quad. They problem didn’t clear up until I recalibrated the compass and rebooted the flight controller a couple of times.
I’m curious how you know your GPS module is counterfeit?
I was able to delete old compass, rebooted made sure nothing shows up on MP, disconnected FC, attached the new compass, and it read qmc5883L. I read someware that there are two variances of GPS+compass made by AxisFly, one with the cheep version.