Global- and local scope- event targets share the same invocation syntax. When we try to access them then we first try and access an event target with the given name inside the local scope and if that fails then we try to access the given name in the global space.Is global event targets also a separate category as local event targets, or are they the same? (I guess since they both use event_target:xxx they would be the same probably)
About the war scopes that can be present while we're actually also in another scope then it's a difficult to explain but in part you're on the right track that when you scope to defender it will later on be possible to scope to attacker (iirc) since it will try to access the attacker from the (still existing) war scope.
Under normal circumstances where we for example would be in a province scope and then change the scope to the holder_scope that would transition us towards a character scope of the holder of the province while the province wouldn't be accessible anymore without any more scope changes (PREV or similar). But because of old scope juggling problems in the CB script a war scope is never cleared when transitioning through a scope change. I agree that this is a weird behavior and understand that it won't be easy to represent in the validator but there is a bunch of old script that relies on this specific behavior.