Good catch, challenge accepted.
Zap addresses are already an implementation detail under nostr events - people zap a profile, they don't care what 'zap address' is.
But we could go further, I could write something like my_npub@provider_npub as my zap address in profile and if clients could talk to provider_npub using ephemeral events then we'd get rid of urls. This would allow one to accept zaps to their LN node behind NAT. IIRC you were proposing something similar during zap nip discussion?