Revisions are immutable - once a revision exists, its content cannot be modified. So, if new information becomes known after a revision was already created, it has to be stored in a new revision. That doesn't mean copying any information: content of slots that are not modified in a given revision are "inherited" from the parent revision.
So, short answer: if extracting some kind of information during upload has to be done asynchronously because it takes a non-trivial amount of time, storing it will create a new revision.
Longer answer:
Modifiable slots for derived data was considered in the original MCR proposal, and may be added in the future. But a slot can be either human editable or modifiable, not both. So the extracted data would have to live in yet another slot, not the MediaInfo slot. Information from that slot could then be merged with the human editable information in the MediaInfo slot to define "virtual statements".
Another wrinkle: perhaps we don't need a modifiable slot, we already have a place to store a meta data blob: img_metadata. This is not versioned, and can be updated at will, and MediaInfo could use it to expose virtual statements.
Virtual statements for extracted data seem like a really nice idea, but a lot of nitty gritty UI stuff needs to be sorted out to make them work. The idea has been floated several times, but it not mature.