Reported model size isn't what the gcode contains

I have a calibration object, 20mm x 20mm x 4mm. Top layer in the gcode is at 3.90 - this shows as well if I use octo's gcode viewer. The file list (and the stats in the gcode viewer) shows size (including skirt) as "Model size: 27.63mm × 27.63mm × 3.52mm".

What I'm wondering is why the size is so far off of what's in the gcode? it also happens to be printing at almost exactly this size - but i'm in the recalibration process after upgrading from 18tooth to 20tooth drive pulleys... it's just weird that it's printing the same "off" size that OctoPrint says the print is.

running 1.4.1, raspi 4B, 4GB ram, large usb SSD hard disk. running Klipper firmware.

serial.log (148 Bytes) octoprint.log (233.8 KB)
new_c20.gcode (51.2 KB) )