NATS by itself doesn’t handle the persistence side at all (by design). It’s at most once delivery, not at least once.
That being said, have you checked out NATS Streaming Server? It’s effectively a first party client for NATS that gives it at least once semantics and persistence, and makes it much more applicable to use cases that are currently on Kafka.
https://liftbridge.io/