It seems the LOGIN_KEY and SESSION_KEY are the fields used to tie the events together for a particular user session
However it is still a bit unclear what the relationship between those are If the same user logs in multiple times (for example UI and API) without logging out in between will it have the same LOGIN_KEY with different SESSION_KEYs ? I guess if the user logs out then a new LOGIN_KEY is generated (and new SESSION_KEY)
Does any know why the SESSION_KEY field is null in many cases, it seems to be null in Login event but also in ApexTrigger event type (and many other events). How should this be interpreted ? There are also cases where LOGIN_KEY is populated but not the SESSION_KEY and also cases where both is null
There is an old article on the web, https://admin.salesforce.com/blog/2017/two-new-keys-unlock-users-event-data but it does not answer all the questions