finalizeMoves() is called when Mach finishes your Gcode processing - so it is correct behaviour.
About: ExternalPulseRates, motor velocity, ExBufferHi and ExTime - these are configuration variables for your plugin. All these settings are independent. Most were described in my plugin.
ExternalPulseRates - your max step signal frequency
ExBufferHi - max lookahead buffer for movements
ExTime - tyime slice for single motion record ( time period with constant speed data records you get from trajectory)
motor velocity - this describes CNC machine movement constrains