I guess you're actually creating Administration.Account entities for users? In that way you can set events on that entity.
You're right, I do.
I tried an event on Account, but the event won't fire if attribute Account.LastLogin changes. This is quite counter-intuitive, as indeed Account is a generalization of User and you can use or change this attribute via Account.
I built a custom logon form, activated Anonymous users, and used a microflow to save the current time in a new table 'Logins'. Thus I could keep track of every login.
Via a microflow, I can retrieve the second last login time now. But I think it is pretty cumbersome to do it this way.