Am I correct in thinking that the DR (dynamic range) is the number of stops from the noise floor to full saturation
Yes, or rather is it the log2 of the
ratio of the saturation level to SNR=1 (Noise floor if you like).
EV = log2(Ssat/Sfloor)
and the bit depth is the number of distinguishable steps within the DR?
Number of quantised steps. They are not distinguishable if noise is larger than the quantisation step.
For example, let's say we record a photo with 14 bits/pixel and the DR is 12 stops. Does this mean that the two lowest bits are noise and the 12 upper bits (bit depth) are steps, resulting in 2^12 = 4096 distinguishable steps within the DR?
There are no 'steps' in that sense unless the data is noiseless. See below...
Also, what is the tonal range? Am I confusing bit depth with tonal range, or, more likely, just confused, period?
The steps in real data (multiple pixels) are not quantised, they are dithered by noise. Its only the individual pixels that are quantised.
Bit depth defines the quantisation level of the signal in each pixel. Signal is quantised (there are only 14 bits or 16384 levels per pixel).
Noise is an average so it is not quantised. An average of many quantised pixels can be a fraction.
Because Sfloor is defined by noise, it is not quantised.
So DR is can be 12.7 EV or 15 EV, even with a 14 bit ADC. This is because SNR=1 can theoretically occur at
average signals of <1 AD unit.
log2(16383/0.5) = 15 EV, so it implies the
average signal at the noise floor is 0.5 AD units.
All this means is that the
average pixel value is 0.5, so pixels themselves would mostly be 0 and 1, with some outliers at 2 or even 3.
log2(16383/2.5) = 12.7 EV, so the average signal at the noise floor is 2.5 AD units.
So, if the DR on a 14-bit ADC is 12.7 EV, it means that we reach the noise floor 12.7 stops below saturation - irrespective of the bit depth. So yes, the other stops/bits are garbage.
Bit-depth does matter because lower quantisation reduces DR by increasing quantisation noise, so using a 12 bit ADC will reduce DR, but still not limit it to 12 EV.
Tonal range (should really be tonal DEPTH) is the number of
noise limited greyscale steps between the Sfloor and Ssat.
This is generally a lot lower than the bit depth. For a typical FF camera its about 500-600 levels looking at DXO data. That's because we have to account for noise at each level. Human vision can distinguish about the same number on a typical display (shot noise affects human vision too) but most displays are 8-bit (256 levels) so we can see banding if the noise is not high enough to dither the steps.
Colour depth is the number of noise limited colours. A 14-bit ADC could theoretically define 2^(42) or 4.4 trillion colours. Noise limits that to about 23 million, an 8-bit display is limited to 17 million (roughly) and human vision can distinguish about 5 million - or less on a RGB display.