There are relative and absolute positions. Extruders normally are in absolute position mode, so first goes to 850 and next to 300 which is -550 relative to last, so it goes backwards. Use G92 E0 before a e move command so it does what you expect.
GCode::executeFString(PSTR("G92 E0\nG1 E300 F1000 S1"));