calibrating INL and DNL is not an easy task. it would be simpler for a DAC compared to an ADC however, since you can buy a 24 bit ADC and an extremely stable voltage reference for under 20$, but a 24 bit DAC alone would probably cost more than that.
In order to calibrate those errors, you first need to calibrate out offset error (ADS1XXX family allow you to short the inputs together so you can get a reading, preferably average it out over a long period (about 1 or 2 seconds) which gives you the offset code, since with the inputs shorted together, you must be getting 0. any other code is offset error). then you should calibrate out gain error as well (no on chip method for this one unfortunately, you can read on how to do this if you are interested). Now you can begin to calibrate out the INL and DNL

I use the example for a DAC rather than ADC, but the overall idea is the same:
For example calibrating DNL and INL of a 16 bit DAC after the offset and gain have been accounted for, using a 24 bit ADC.
connected the output of the DAC directly to the ADC. write a program that steps through codes with each step being X number of codes (the smaller the X, the more accurate the calibration). Read the actual output with the ADC and store it in an EEPROM (maybe your MCU has one large enough, otherwise use an external one). then you will use a look up table for the actual output value you want, and see what value of the DAC produces that output. Again, this is not a trivial task, so for beginners it's best to get a good ADC with preferably 1LSB INL and 1LSB DNL if possible.
Also your DAC shouldn't be a few mV off! that is insane on a 2.048V reference with 12 bits. 12 bits is 4096 codes. if you're off by 2 codes (INL + DNL seems to be 2LSB which is fine) that is just 1mV error. a "few" mV is more than that. maybe you haven't calibrated offset and gain errors? maybe this is good enough for you so I'm not sure anyways.
If I were you, I would get the 24 bit ADCs (ADS1219 is about twice as expensive as the one you're currently using). this will allow you to calibrate your DAC like mentioned above. the internal voltage reference of those ADCs is also more than good enough for 90% of applications. I used a very expensive reference in one of my designs and it barely made a difference. certainly not worth the 10$ price tag (ADR420BRZ-REEL7). for the DAC you will need a reference, but if you plan on calibrating everything, you can ignore any "initial accuracy" values and get something with low temperature drift and low long term drift. those are more important than the initial accuracy. otherwise you have to calibrate over and over as they drift.
Also a side note:most ADS1XXX have PGA and decent internal voltage references, plus a very flexible input MUX. so don't worry about their performance.
Going the route of a daughter board for ADC / DAC : if you use 0.1" headers and solder them (NOT SOCKET) , there will be very little to no difference, especially at DC (very low frequencies) where you're only concerned with the resistance rather than "impedance" and the pins don't have much resistance. If you want to use a socket, bad contact / high contact resistance can be an issue, so it's best to avoid that.
Why integrated ADCs on the MCUs suck? simply because they are SAR topology. all of the ones I mentioned are Sigma Delta topology, which can do noise shaping. that means if you take care of high frequency noise where the SD ADCs perform poorly, they filter out low frequency noise themselves, resulting in very accurate readings (High signal to noise ratio). SAR ADCs on the other hand can't do this. they can use over sampling and averaging,etc to get better results, but it's really pushing your luck at that point. This is inherent to their design.
Also in case of a power supply, output ripple is a much bigger concern than actual value. if you are accurate to lets say 1mV but there is 100mV ripple, that design is no good at all! for switching applications they usually create multiple phases that allow for good transient response, as well as low ripple. if you want to get started on this watch GPU PCB analysis videos by Gamer nexus on youtube. for example this one:
otherwise I would say your current design is good enough.
Regarding ground planes: no. this is exactly what you want. that "Single point" will be under your DAC / ADC. this is also exactly why the digital portion of those chips is on one side and the analog portion is on another side. (see figure 6 here:
http://www.ti.com/lit/an/slyt512/slyt512.pdf) to further isolate noise, you can use two separate supplies for the analog and digital sections. I personally slap 2 LDOs (one for each section) since they are so cheap.
The ADC filtering is pretty poor (almost nonexistent ) and it seems to be single ended rather than differential. I didn't check to see if the MCP ADC allows for differential setup, but that can be a big improvement too. this is how I got better than 10uV accuracy:
"Capture.png"
RN1 and RN2 are 1k resistor networks which add input protection, as well as filtering in combination with the capacitors.
C6 and C5 are X2Y capacitors (feed through capacitors) which reduce high frequency noise with respect to ground. again, SD ADCs only need HF filtering since they do noise shaping.
C3 and C4 are there to reduce differential noise. I used C0G capacitors which are meant for these applications, so they are a bit more expensive than your generic 100n decoupling cap.
I haven't designed a PSU yet, but a lot of precision electronics (millivolt meters, milliohm meters, etc) so I'm probably thinking of orders of magnitude better accuracy that necessary here

take all of what I said with a grain of salt and see what is "good enough" in your books.