Are the plots correct?
Mostly. Two things to consider: since your input signal is real (as it not complex), the spectrum is conjugate symmetric. So typically you would only plot the first half from 0Hz to 500Hz. If you want to plot the whole thing, it's better to circulate it and plot it from -500Hz to +500Hz. In most cases you would also use a logarithmic scale (in dB) for the amplitude and not a linear scale.
Is it correct to say that by truncating, the ripples produced during transform are minimized hence the peak at 100Hz can be easily distinguished?
Not really. It looks like you truncated both the signal and the FFT length. At this point your frequency resolution is only 10 Hz, which means it's large compared to your sweep width. There are still plenty of ripples: you just can't see them because of your poor frequency resolution. There are only two discrete points in your "passband" and you can't make a lot of ripple with just two points.
If you don't like the frequency domain ripple, you can simply flatten it out in the frequency domain. That creates a little bit of amplitude ripple in the time domain, but it's ruler flat in the frequency domain. Which one you want to choose depends on what you want to do with the signal.
understand intuitively the fft of a signal that changes in frequency in time.
Intuition can easily fail you so it's a good idea to stay close to the math. The whole concept of instantaneous frequency only makes sense for signals that have very small bandwidth over a decent amount of time. For most signals that's not the case: while you can technically calculate it, the result is often meaningless. What's the instantaneous frequency of the sum of two steady state sine waves with different frequencies ?