If Void Assault moves my unit and an enemy unit to a battlefield, who is the attacker?
The card itself answers this. You are the attacker. Void Assault's text explicitly states: "(If they both move to a battlefield you don't control, you're the attacker.)"
Since your unit moves first (applying Contested), and then the enemy unit arrives, your unit is the one that established the contested status. The enemy unit becomes the defender per FAQ #10026 — consistent with the general rule that the player who first applies Contested to a battlefield is the attacker (Rule 445).