I think your original scheme should work. The Voh output is minimum 2.7V, The required input to the 628A is 2.64V. Close but still within specification. If noise is your problem it is probably the earth connection between the two chips. It is better to fix that than redesign.
If you do want to redesign, this might be useful. Many years ago, I made a Sidereal clock.
http://www.cashin.net/sidereal/circuit.html, it shows how I used the 2N7000.
Most device outputs are capable of sourcing and sinking current, so you shouldn't need a pull up resistor on low side. The gate voltage has to be a similar level to the low side high signal, so the 2N7000 is not conducting. This has to be balanced against the need to conduct with gate to low side low turning it on. You could determine it by experiment, but I would go for a gate voltage of 3.3V or thereabouts. You could provide it by a divider off the 5V rail and a bypass capacitor, the gate doesn't draw significant current.
Unfortunately, the 628A USART input doesn't have a weak pullup. In my circuit one of the outputs (the 1pps signal) goes to a pin that does have a weak pullup, so no additional pullup was required.
If you feel like doing something weird and had spare I/O pins, you could set up a comparator with input from the SIM800L and a reference voltage of say 2V, and send the comparator output to a pin which is connected to the RX pin. Get your level shift for free.