Inconsistent time before sleep is likely the kernel waiting for IO to sync to disk.
Not going to sleep at all implies a serious issue that prevented the kernel from doing so. Check your logs!
Suspend reliability greatly depends on the firmware of your specific device as it controls the wakeup.
On my Framework 16 for instance, it is very reliable these days. I can't remember the last time it woke up unexpectedly and I'm not sure whether it happened even once since the firmware update that fixed a major oversight in keyboard wakeup (waking when a key was pressed through a closed lid).