Is AnalogRead reference voltage actually 4.9V?

Hello!

I am using Arduino to read Texas Instrument INA125PA amplifier via AnalogRead. Because I need accurate reads for my strain gauge measurement I decided to check what Arduino read on the analog pin with my multimeter (note: multimeter is a cheap one)

I noticed, that my Arduino AnalogRead values didn't match with my measured Multimeter values... The differences were up to 0.3V! I also noticed, that if I measured the 5V pin multimeter only read 4.83V... (Arduino was powered via USB + 9V Battery)

Then I hooked Arduino to a better 12V adapter, which made the 5V power pin reach 4.9V and the multimeter measured values were a bit closer to the ones that Arduino read. (about 0.1V difference)

Now my question: To convert AnalogRead value 0...1023 I used this formula: U=AnalogRead*5V/1024
But it got me thinking: if the 5V pin actually reads 4.9V isn't the reference point for AnalogRead then actually 4.9V?? (Because Arduino "thinks" that the real 4,9V are 5V.)
Also when I connect the analog pin to the "5V" pin (which is actually 4.9) it reads "1023".

So I concluded that Arduino actually maps the AnalogRead 0...1023 from 0...4,9V
Therefore I should correct the formula: U=AnalogRead*4,9V/1024

Are my thought process and conclusions correct or am I missing something here?

Thank you for the input! =)

Default analog ref is the 5V supply voltage (whatever the value really is).

Yup specifiy the voltage you read in code 4.9/1024.

I had a similar issue, in the end I supplied 5v directly into 5v in, to get that magical 5v ref value.

So I concluded that Arduino actually maps the AnalogRead 0...1023 from 0...4,9V
Therefore I should correct the formula: U=AnalogRead*4,9V/1024

Yes that is right.
BUT
That only works for your Arduino because of the voltage out of your voltage regulator.
It will be a different value when you plug it into the USB and a different value on another setup.