Most drivers will post an event after the device responds when you do a refresh on them, that is why the app has the option to do a refresh. Some drivers however filter out events if the state has not changed (a bad practice IMO because the hub does this for you).
Zigbee: I have found the Generic Zigbee outlet driver does not do this :(. Possibly other Zigbee drivers as well. I just set the check at 2 days for these, most of mine get used at least once within two days.
Kasa: At one point the author of the Kasa app fixed it upon my request but it seems he has put it back how it was for some reason. I modified the code on my end so a refresh will update the last activity if the device responds for my Kasa plugs.
Hue and Lutron, I do not really use so not sure.
One thing you could do is make a rule in RM for any of these devices where a refresh does not update them. Have the rule run once a day, at a time where it will not disturb anyone. You could do a toggle on/off twice (with a short delay) and that should put them back how they were before (either on or off). That should definitely update the Last Activity (if they respond).