My main gripe with the Fastmail client is that it doesn't work offline. This is of course absolutely possible to do with a webapp, and IMO ought to be a priority for an email client.

Offline support was added in August last year: https://www.fastmail.com/blog/fastmail-works-offline/

I literally switched on "Enable offline support", caching "All mail" offline on my iPhone a few months ago. Tons of free space, only using 4GB for offline.

But when my phone is actually offline (on a plane or elevator) it beachballs when trying to find something.

(I work for Fastmail). That sounds odd – have you contacted our support team so we can look into it? https://www.fastmail.com/support/

The mobile client now supports viewing emails offline.