Why is BLTouch Still Probing Off the Bed Even When NOZZLE_TO_PROBE_OFFSET is Set?

So I am almost finished upgrading my CR10s with Hemera and BLTouch hardware, however I can't get past this one problem.

In the picture, you can see that the probe is to the left of the nozzle, and when homed it is not above the bed. The gantry will fall and eventually have the nozzle crash into the bed because the BLTouch will never hit the bed. I tried solving this by setting NOZZLE_TO_PROBE_OFFSET { -40, 0, 0 } (I'm using Marlin 2.0, and those were the offsets I measured (except for the z)). This changed nothing, and the same thing happened again. I could not find a setting that tells Marlin where the nozzle is after it has been homed. Any ideas?

Did you load the values from firmware after the re-flash? Use M502 to load the values you changed, otherwise it will keep using those from memory. Also set #define Z_SAFE_HOMING, then it will home in the middle of the bed.