Sorry, let me just paste you my entire start gcode
M104 S{material_print_temperature_layer_0} ;Start heating extruder
M140 S{material_bed_temperature_layer_0} ;Start heating bed
G28 ;home
G90 ;absolute positioning
G1 X-10 Y-10 F3000
G1 Z0 F1800
M190 S{material_bed_temperature_layer_0} ;Wait for bed to reach temp before proceeding
M109 S{material_print_temperature_layer_0} ;Wait for extruder to reach temp before proceeding
G92 E0
G1 E1 F200 ;extrude 1mm @ 200mm/s feedrate (prime)
G92 E0
As you have it now, it could work to just move the wait for temp up
but right now you have it extruding 20mm before the temperature is reached.
on mine, G1 E1 F200 is the priming method I use, which means extrude 1mm at 200 mm/s, yours is set to extrude more than that, which is fine.
The snapmaker code likes to extrude 20mm to prime, and then wipes it off on the corner of the bed, so its a lot different than mine is
you could just leave it all alone except moving up the wait for temps to above the E20 or just paste mine instead.
I actually was considering going back to the extrude longer and wipe method snapmaker provided originally instead of my small prime anyhow. but the important part is the layer_0 to have the intial layer temp work.