Nothing forbids people from creating Nostr event kinds with code in them. Kind 5392 could be HTML code, 5393 CSS, and 5394 JavaScript. Then a Nostr-native browser can simply render events as if they were files on a regular webpage. The only difference is that now they can be stored in any existing relay.
Do you want to truly decentralize the web? Kill DNS.