Design datastore persistence based on state of the Entity
Mongo allows the content of a record to change. You can add any values you need and remove any you don't each time you persist a record.

The application could have an object class for each state. To mutate a record read it into an instance of whatever class corresponds to its current state. Then map the values you intend to retain to an object of the new state. This new-state object will not have attributes for the values which are no longer relevant. Now persist the new object. The on-disk representation will have only those values applicable to the new state.

Whether you have a collection per state or hold all the records in a single collection is, to a large extent, an operational concern. One risk with separate collections is that the system may fail after the new record is written but before the old one is removed, leaving duplicates. You'll need some clean-up logic on start-up to account for this.