Should we use Vary: User-Agent in our headers when the regular url www.mydomain.com is forwarded to m.mydomain.com? Or is it not needed for Google due the redirect?
You only need to use vary header if you dynamically change the content for specific devices on the same URL depending on the user agent.
You can see this outlined here: Google guide on Dynamic Serving
If you use separate URLs for mobile you do not need to use the vary header. You should however tell Google the relationship between two URLs by tagging them with the rel="canonical" (on mobile URLs) and rel="alternate" (on the mobile pages) elements.
You can see this outlined here: Google guide Separate Mobile URLs