Sorry for the delayed response. It took me a while to figure out how to do this feasibly (without having to go create a new extension for IVM for every mailbox that was needed).
From what I can tell the variable %did% in IVM will keep the value of the extension dialed when a call is transfered to voice mail, even though the voice mail extension is different.
So in answer to your question...
In IVM, create a new mailbox for every extension you want to have a mailbox and name them according to the extension number. So if you are creating a mailbox for extension 201, name the box 201.
Now create an OGM, set "Wait:" to 0 seconds, "Repeat:" to 0, and "Then:" to "Leave message for Mailbox..." (it will now open up a new window/dialogue)
In the new window, change the textbox value (which should say "default") to: %did%. Tick Play mailbox personal greeting.
Now when a call comes in on an extension and is not answered (assuming voicemail is enabled for the extension in Axon), it should send the call to IVM... and then IVM will send the call to the appropriate mailbox.