You’re right, something is definitely off:
I will try to find a fix for that.
Edit:
It actually looks like a bug on the original firmware, the stock boot.img has three camera sensor drivers included:
gc5025_mipi_raw gc0339_mipi_raw gc5035_mipi_raw
And for some reason it uses the GC5035 id for the GC0339 sensor:
LensMCU : LensMCU[CurrSensorDev]0x0002 [CurrSensorId]0x5035
The custom kernel defaults to the correct id (0xC8 = GC0339):
LensMCU : LensMCU[CurrSensorDev]0x0002 [CurrSensorId]0x00c8
So the GC0339 somehow has to use the GC5035 configuration (at least on the Android side) to work correctly.