There is no fundamental reason to limit the processing to real signals and incur the first ambiguity on Doppler direction.
Starting with the following conceptual block diagram, we can see both ambiguity effects due to range and FFT processing:
The multiplier shown is a full complex conjugate multiplier, with the wider arrows representing complex data paths (implemented with quadrature splitters in actual hardware). Optionally with additional filtering the quadrature splitter on the receive path could be eliminated. The point is this can and is implemented and avoids one of the ambiguities mentioned.
The signals introduced are the instantaneous frequency waveforms versus time. $f_T(t)$ is the locally generated chirp that is both transmitted and multiplied with the received chirp waveform $f_R(t)$. The time domain complex conjugate product results in the frequency difference between the two waveforms, which we can then process with a DFT to observe the frequency content directly.
The plot below shows the transmit and receive waveforms with a chirp duration of $T$ seconds, and a round-trip delay to target and back of $\tau$ seconds. Here we see the frequency difference that is created by the delay when comparing the transmit and receive waveforms. Also introduced is the static (in this case) frequency offset of $f_D$ due to Doppler:
Now before we even consider the effects of sampling and the FFT, we can immediately see the range ambiguity introduced by $T$ and $\tau$: The difference in frequency will be given by $\tau$ modulo $T$, such that the first range bin is for $0<\tau \le T$ and then repeating after that. For any frequency difference result (which we would without considering Doppler associate directly with a range in that value of $0<\tau \le T$), once Doppler is introduced, this will simply shift the resulting frequency difference positive or negative as given by the actual Doppler offset.
The plot below in bold blue represents the frequency versus time of the difference signal that we would expect for the example above, regardless of subsequent sampling and FFT processing used. Here we can introduce sampling and its aliasing and considerations of the FFT. If we were to make the sampling rate of the signal match the difference in frequency range of the chirp ($F2-F1$) or equivalently the maximum possible frequency in our complex difference signal without considering Doppler, we would introduce the horizontal dashed lines in the plot indicating the sampling rate boundaries ($f_s$) at positive and negative the sampling rate ($f_s$) and positive and negative half the sampling rate ($f_s/2$).
Once sampled, the frequency domain in periodic, so everything that is shown in the range from $f=0$ to $f=f_s$ would repeat exactly in every other range $f=Nf_s$ to $f=N(f_s+1)$ for all integers $N$. Thus the single blue trace which we now completely understand from the perspective of a continuous time signal, becomes the repeating red traces, appearing in each of these frequency ranges of the sampled system. Finally we note that the DFT presents the unique samples starting from $f=Nf_s$ to $f=N(f_s+1)$ (so we would typically associate the first DFT bin with $f=0$ and the last DFT bin as being one sample less than $f= f_s$. This is periodicity in frequency associated with sampled waveforms such that for any tone with a frequency $f$ in the primary Nyquist zone of $-f_s/2$ to $+f_s/2$, we could also have other tones at frequencies $N f_s + f$ that would all map to this same location.
From this we can understand clearly the ambiguity introduced by sampling and observed to us from the DFT result-- any frequency difference will be modulo $f_s$, and the effect of Doppler just shifts this result up and down without any additional direction ambiguity (a small shift up is not ambiguous from a small shift down, but a small shift up is identical to a very large shift down similar to the range ambiguity already introduced).