My Android app uses a non-trivial amount of structured data to provide suitable recommendations to the user, so a local database would seem appropriate. Room/DAO/ViewModel looks like a good architecture and has sufficient abstraction of the underlying implementation. The data within isn't going to change very often, and when it does it only flows one-way: from the server down to the local database in the users device, never the other way; It makes sense for the majority of queries to be served from local data, even though the app is likely to be regularly online.
I'm using Google Firebase to handle the backend services, and the Cloud Firestore database to store the data server-side. Firestore provides a local cache of user data, for offline use - which would be much simpler than implementing and syncing my own database. Are there good reasons to avoid this approach?
There are a few similar questions, such as: How reliable is Firestore as an offline persistence mechanism? or Partial offline sync in Firebase Cloud Firestore. I think this is different, as I'm not looking for long-term offline persistence, but a reliable local copy to avoid unnecessary data transfer.