The problem with non-feedback peak detectors, either using diodes or transistors, is their time dependant offset. In practice, they can achieve a sufficient accuracy only with single pulses of constant waveform. This is e.g. the case with the suggested MOSFET circuit. If the peak pulse width increases or the pulse is repated, the capacitor voltage rises.
For the originally requested "100 kHz to 1MHz" speed range, a standard two OPs + diodes peak detector, as mentioned by keith, should work best. Reasonable fast OPs are required, however.
P.S.: A slightly tuned version of the classical two OP peak detector can be. e.g. found here (with waveforms)
https://www.analog.com/static/imported-files/data_sheets/AD8033_8034.pdf