Thank you for reporting this bug. I suspect that Kupfer does not detect that logout is occuring. In Gnome we have a D-Bus connection with the Session for this. One workaround (I think) is to install python's 'gnome' module which contains XSMP (X Session manager protocol) client code that Kupfer will use.
If Kupfer would only receive a SIGTERM and some time at logout, it will also save its cache, config and learned usage patterns.
Karol, do you know how this is handled in XFCE?