Does the ATMEGA328P have a multiplying DAC or just an ordinary DAC?

I want to take full advantage of the sensitivity of a photodiode, which currently outputs a max voltage reading of 100/1023 via the analogRead() function.

To do so, I've reduced the reference voltage from 5V (DEFAULT) to 1.1V (INTERNAL). Since the ATMEGA328P A/D converter has a variable reference voltage capability, I assume that the full scale 0-1023 will correspond to 0-1.1V readings.

I was right, except now the resolution in the A/D output has decreased: the photodiode output is now in multiples of 32, making me feel that perhaps the same 5V reference is being used, but the output is simply scaling by 1.1/5, and no significant change has actually happened.

Am I right?

No you are not right. Reducing the Vref will give you the full 1023 range of readings over the voltage range up to the Vref. I have done this many times myself.

Your outcome seems implausible. Either you have done something wrong with your code, or your photodiode is outputting voltages which have specific steps, which seems unlikely.

Can you post the code you are using which gives this apparent outcome ?

The Atmega328P has no DAC at all.
You should Modify the title of your post.