You have hardcoded "bltouch" as the probe in the M851 and _PROBE_OFFSET_REPORT gcode macro.
[gcode_macro _PROBE_OFFSET_REPORT]
gcode:
{% set OFFSET_X = printer.configfile.settings.bltouch.x_offset | default(0) - printer.gcode_move.homing_origin.x %}
{% set OFFSET_Y = printer.configfile.settings.bltouch.y_offset | default(0) - printer.gcode_move.homing_origin.y %}
{% set OFFSET_Z = printer.configfile.settings.bltouch.z_offset | default(0) - printer.gcode_move.homing_origin.z %}
_SEND_TO_BTT COMMAND="M851 X{OFFSET_X} Y{OFFSET_Y} Z{OFFSET_Z}"
[gcode_macro M851]
description: XYZ Probe Offset
Set the XYZ distance from the nozzle to the probe trigger-point.
gcode:
#{% set X = params.X | default(0)| float %}
#{% set Y = params.Y | default(0)| float %}
#{% set Z = params.Z | default(0)| float %}
{% set OFFSET_X = printer.configfile.settings.bltouch.x_offset | default(0) - printer.gcode_move.homing_origin.x %}
{% set OFFSET_Y = printer.configfile.settings.bltouch.y_offset | default(0) - printer.gcode_move.homing_origin.y %}
{% set OFFSET_Z = printer.configfile.settings.bltouch.z_offset | default(0) - printer.gcode_move.homing_origin.z %}
{% if not (params.X is defined or params.Y is defined or params.Z is defined) %}
_SEND_TO_BTT COMMAND="M851 X{OFFSET_X} Y{OFFSET_Y} Z{OFFSET_Z}"
{% endif %}
For people like me who replaced it by an inductive sensor like SN04 and used the [probe] configuration instead of [bltouch], Klipper throws the following error on startup:
Error evaluating 'gcode_macro _PROBE_OFFSET_REPORT:gcode': jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'bltouch'