Unable to low pass filter the signal
See the documentation at https://www.mathworks.com/help/signal/ref/lowpass.html and in particular the "Steepness" parameter: You didn't specify a steepness, so it is just using the default value of 0.85 which is a transition width of 15% of $(f_{nyquist}-f_{pass})$, or 15% of (10MHz-100KHz) = 1.485 MHz. You see this directly with the shape of your post-filtered noise.  

You could increase this to the minimum achievable that the lowpass function provides which is 1% (at the expense of filter complexity). This would result in a transition width of (10MHz-100KHz)/100 = 99 KHz which should result in significant attenuation of the 300 KHz signal. 

Another approach would be to lower the sampling rate, which would be more efficient as long as there are not higher frequency signals present. This is often combined in a multi-rate approach where a more relaxed low pass filter is first used, then the sampling rate of the filtered signal is reduced (by simply taking every Nth sample after filtering where N depends on how much filtering is done) and then implementing the filter to your desired cut-off at the lower sampling rate.