Z offset not working after flashing TH3D firmware I had the BLTouch (3.1) working with stock firmware on an Ender 3 v2 but wanted to get a 5x5 mesh instead of the 3x3 so I installed the TH3D firmware. With the stock firmware my Z-offset was -2.95 mm.
After installing TH3D firmware, my Z-offset has to be in excess of -6 mm to reach the same nozzle-to-bed height. I've tried setting the Z-offset via LCD and through G-code, saving to EEPROM. I'm having 2 problems with this that I assume are connected:

Z-offset seems to not be applied when setting Z axis position. When I autohome and then set Z axis to 0, even the extended probe from the BLTouch does not touch the bed (it's actually 1-2 mm away from touching). And this is with the Z-offset set to -6 mm.
I tried running a print, which includes an ABL request (G29), the print head crashed into the bed immediately after finishing levelling. My hunch is that when starting to print the -6 mm Z-offset starts being correctly taken into account.

Could this be the result of something I did in the Configuration.h when compiling the firmware?
I made the following changes:
CrealityV42X/Firmware/Marlin/Configuration.h

Line 24: uncommented #define ENDER3_V2_V422_BOARD
Line 43: uncommented #define CUSTOM_PROBE
Line 66: changed #define EZABL_POINTS from 3 to 5
Line 124: changed #define NOZZLE_TO_PROBE_OFFSET from { 10, 10, 0} to { -44, -6, 0 }
Line 233: uncommented #define BLTOUCH
Line 235: uncommented #define SERVO0_PIN PB0
Line 636: commented out #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
Line 636: added #define USE_PROBE_FOR_Z_HOMING

In Configuration_backend.h the only change I made was increasing Z_PROBE_OFFSET_RANGE_MIN from -5 to -20.
I'm pretty sure something is wrong with the firmware I downloaded. I flashed the 3/5/21 version of Marlin firmware from https://marlin.crc.id.au/ and it is somehow working better with the LCD firmware (which I got from TH3D), the Z offset is working as it should, and the leveling process has more points and goes faster.