Issue #3583190: replace hook_domain_load with storage-level alias resolution
Replace the fragile hook_domain_load (which only fires for fresh entity loads, not static cache hits) with alias resolution built into the storage layer via DomainAliasAwareDomainStorage.
The new storage class:
- Overrides loadMultiple() to apply alias resolution to all returned entities (cached or fresh)
- Writes resolved entities back to static cache (one-time cost)
- Falls back to sibling domains sharing the same canonical hostname when a domain has no alias of its own (path-prefix inheritance)
- Uses a recursion guard to prevent infinite loops from internal loadByProperties() calls
Also removes the resetCache() workaround from the existing test and adds a new test for cross-host alias resolution via sibling fallback.
Closes #3583190