I doubt if you can send a message to an Actor that is in preRestart phase.
Your strategy should be that the actor is reset upon crash/restart. If you want to keep the internal state, you have to pass it to somewhere else (other actor, database) to ask it again when the new actor is started.
Why not indeed implement some more of the logic in the supervisor?
I would post some example code here, if I knew what version of Akka are you using exactly.