Adam I know you and I've discussed this in the past and I know there is definitely some latency you do not control.
That said, I'd really encourage the team to look at a caching layer here, especially for S3. Once a backup has been written, its metadata is immutable. The only thing that actually changes between page loads is the newest snapshot at the head of the list.
Ideally we'd persist the snapshot index locally and render from that immediately. Refresh it when a backup job completes, on a TTL, or via an explicit "Refresh" button so the operator can force a re-read when they need ground truth.