A few questions about the output value of dsp.SpectrumAnalyzer
I don't really know what Matlab's spectrumanalyzer does internally, but I suspect it mimics the behaviour of an actual spectrum analyzer – which does not at all do a DFT and then square the output.

Instead, a SA shifts a filter across the spectrum. This filter's equivalent noise bandwidth is exactly how much white noise power gets let through and gets measured to derive a single point in that display. So, for white noise, there's always the factor "filter bandwidth" between your power spectral density and the power displayed in your plot.

Also, filters don't have to be unitary, i.e. there might be yet another factor, the filter gain, between your sine's power and the displayed power.

Also, in a SA you typically need to configure the "frequency advance step" separately from the filter bandwidth, hereby defining how much the windows "overlap". A quick skim of the matlab doc says the default overlap is 0 – so you might really just be missing your sine wave's "peak".

All in all, it's quite questionable why you'd want to use this visualization if you could also directly estimate the spectrum all at once, without losing any info, using any of the PSD estimators that Matlab can do – from the simple (windowed) FFT estimator, to the more complex parametric estimators.

This tool definitely only has the purpose of illustrating how measurements on a Scope can be modeled and how they differ from the mathematical idea of the PSD. Unless you need to model a SA, I really don't see any practical value in this tool.