The touch offset is likely caused by the Touch Display plugin having been installed and configured when the display was not properly initialised. The plugin captured incorrect parameters from the legacy framebuffer output.
Try first:
Uninstall the Touch Display plugin via the Volumio UI
Reboot
Reinstall the Touch Display plugin
Configure rotation within the plugin settings
Test touch accuracy
This clean reinstall with the correct dtoverlay active should resolve the 20mm offset.
If not:
Should the touch offset remain after the reinstall procedure, please report the issue in the Touch Display plugin thread:
Reference this guide thread when posting:
The plugin maintainer and community there have specific experience with xinput calibration procedures for edge cases.