Hmm I don't know if you can check if a waypoint teleport happened though an event. If you can it would be easy enough to create such a system.
Almost all D:OS 1 teleport events had the option of associating an event with them. It's a MAJOR drag that's been removed in 2. So much of how I did things in D:OS 1 wouldn't work at all in 2.
You can for sure check if the player opened the waypoint UI.
Either one of these:
CharacterRequestsHomestead
ObjectFlagSet("OpenWaypointUI",_Player,_ID)
Actually you probably need both since one is for the GUI button and one is for clicking actual waypoints.
So you could set those DBs you suggest on those events. And have the event NOT out the previous DB every time to make sure you don't stack them. Like for example if you hit the button, and then didn't actually teleport.
So then when you get a RegionStarted() event you can check the DB that was generated off the two events above. You also might be able to use the built in SubRegion databases instead.
But you'd also have to account for changing regions on chapter moves. If one of your bolted on random encounters happened on a chapter change I have no idea what would happen