USB stops working from time to time / can't log in

If it’s not hung up then you can check the logs in dom0 using journalctl to see what happened wuth sys-usb.
If sys-usb is crashed and stopped then you can try to add sys-usb start in cron like this:

Or maybe add some script in cron that’d check that USB keyboard is available in sys-usb and it’s proxied to dom0.