We should definitely fix the code so that we don't do a nullptr deref, but I'm wondering in general what it would mean to add an event listener to an object with no execution context. Clearly script is running, in order for addEventListener to be called in the first place. But, I suppose if the target really has no association of its own with an execution context, as seems to be the case with the TextTrack, and apparently RemoteDOMWindows and possibly some AccessibilityNodes, then I would suggest that they're probably not valid event targets, and we shouldn't attempt to add listeners. (So Yes, I think that what you're proposing makes sense)
The TextTrack case specifically though is a bit confusing (maybe because I don't understand the use case for it yet) -- I'm not sure why it can't delegate GetExecutionContext to the <track> element that owns it?
Also, it appears that TextTrack::GetExecutionContext can return nullptr or not, depending on whether it currently has a MediaElement associated with it, and that can change over time. It seems like the behaviour of addEventListener might be inconsistent, depending on what order things are attached to the document in.