'We must cook something previously' does not make sense, so that is why you cannot use 'previously'..
Good question. They're not quite the same, I think, but I'm not sure how to explain the difference.
I think that vorher is just a time statement ("before that happens") while im Voraus somehow draws a connection between the two events, e.g. "in preparation" or "before it is time".