Sandboxing keys on the device is indeed removing one point of nostr, but to clarify on your point: The difference between Signal and Nostr is that in nostr there are hundreds of independent servers (relays) that your app broadcasts events to, whereas on Signal it's just one centralized server.
There is nothing special about independent relays. ActivityPub also have relays around. Store-and-forward is how IRC works.