The first thing is, the time and frequency arrays have to be correct. You are not actually using the 'time' variable but presumably it is equally spaced and consistent wth your choice of Fs. The frequency grid calculation is correct except that L is supposed to be the number of points in the time array (and also the Fx1 array). L is set at 4999.94, close to 5000. But you say that there are 1e5 points. With 5000 the frequency array is going to be incorrect, as will the amplitude in the frequency domain.
For the amplitude, if the data reperesents a periodic function that keeps going on in time, then using Y/ L is correct. However, using 5000 for L instead of 1e5 gives an answer that is too large by a factor of 20, which is what you are off by.
In this case the units in the frequency domain are Nt.
If the data represents a nonrepeated pulse function of some kind. such as a decaying oscillation, then there are two possibilities. One is to decree that the decaying oscillation repeats as it would if you put many of your existing time windows side-by-side. Then (after fixing up L) you use Y/L as above. That keeps things simple, as long as you are aware of what is being represented.
The other possibility is to say it really is a one-time occurrence. In that case the natural assumption is that the fft represents an approximation to the fourier integral of a continuous function. Since you are approximating Integral [something] dt, dt is replaced by delta_t = 1/Fs, the spacing of the time array. The fft is multiplied by delta_t and the result is Y/Fs.
In this case the units in the frequency domain are Nt/Hz.