@radax05 - Hibernate is a very distinct state from Suspend, so I'm not surprised your experiences with the two are different. (I'm not interested in Hibernate for any of my machines, so I'm going to keep this simple).
@ugnvs - Thanks. I hunted through root's history on that machine, and /proc/acpi/wakeup is apparently what I used x years ago. I have no idea what the 19.10 update did to break it though, and in the end I decided to just start over rather than keep spending time trying to figure that out.
One of the askubuntu threads I came across had a different way of tackling the problem that I thought was quite interesting, and is much better than the approach I used before. The thread is here but I thought I'd summarise the highlights. The big difference is that /proc/acpi is imprecise (and, for at least the poster in the thread you linked, didn't even work properly for him until he disabled all USB wakeups, even for a different class of USB (3) than his mouse was actually using (2)).
This version lets you choose devices rather than hubs, and as result lets you get the ideal results for a desktop, i.e. wake on USB keyboard, but don't wake just because you breathed near the mouse.
$ grep . /sys/bus/usb/devices/*/product
On my HTPC, that produces
/sys/bus/usb/devices/1-2/product:Bluetooth Radio
/sys/bus/usb/devices/1-3/product:USB Receiver
/sys/bus/usb/devices/1-4/product:USB Entry Keyboard
/sys/bus/usb/devices/usb1/product:xHCI Host Controller
/sys/bus/usb/devices/usb2/product:xHCI Host Controller
"USB Receiver" is the wireless mouse dongle, so after
(this must be as root, but putting a hash mark here causes crazy broken formatting in the forum)
$ echo disabled > /sys/bus/usb/devices/1-3/power/wakeup
and checking things with
grep . /sys/bus/usb/devices/*/power/wakeup
I (correctly) get
/sys/bus/usb/devices/1-2/power/wakeup:disabled
/sys/bus/usb/devices/1-3/power/wakeup:disabled
/sys/bus/usb/devices/1-4/power/wakeup:enabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled
So the mouse behaves the way it should and doesn't interfere with suspend, but the keyboard can be used to wake the machine rather than needing to use the power button.
There are two likely problems with this, both related to rebooting. First is that this will almost certainly get wiped out on the next reboot. The more worrying one is that the USB hub and/or device ordering may change, apparently - in which case fixing this via rc.local becomes impractical, and the only "sensible" option is to just disable all USB wakeups via the /proc/acpi method instead.
I haven't actually rebooted that machine to check yet, because the session-restore bug in 19.10 makes that a headache I wasn't in the mood to deal with, but it'll probably happen sometime in the next week, so I'll find out then.