The power supplied to the mdot is connected to the input of a 3v regulator. VBAT and VDDA are both connected to the output of the regulator.
This doesn’t add up.
AnalogIn adcVref(ADC_VREF);
float vdda = 1.21f / adcVref.read(); //Internal voltage reference is 1.21V
gives vdda = 3.00V. Makes sense.
But
AnalogIn adcBatt(ADC_VBAT);
float vbatt = 4.0f * adcBatt.read() * vdda; //VBAT pin is div by 4
gives vbatt = 3.85V. That doesn’t make sense if, as you say, Vbat and Vdda are connected to the same rail.