What you're describing is, in my limited experience, the most frequent beginner's issue with the free-stroke. Suffice it to say, I had the same problem when I started out. This answer will be largely based on my own experience, rather than classical training methods, since I had to learn it by myself.
That said, you seem like a proficient swimmer, so it's likely that by simply keeping at it, you'll intuitively grasp it.
I'm going to assume (since you didn't specify, but mentioned early fatigue in legs) that you're experiencing the same problems I did, where your upper body is keeping afloat, but your legs are sinking, thereby causing you to use far more energy than needed to keep them up.
For myself, I noticed that the reason why my legs were sinking, wasn't how I was moving them, but the fact that my arms were pushing straight down into the water before they pushed backwards. This downward push, pushed my torso UP, which resulted in a non-flat body position with my legs suddenly lower. This, repeated, was one of the issues. Focus on pushing the water backwards right away.
Another issue is kicking with your knees. This creates a lot of drag, as well as up-and-down motion. You should keep your knees straight, and might even benefit from improving ankle flexibility.
Then, there was a tip I was getting from another swimmer, because it was very obvious. My head tilt. I was looking straight ahead, at the wall I was swimming towards. This is ok if you're already very proficient. For beginners though, it might cause legs to sink. Instead, keep your head in a position where you're looking straight down. The point here is that you lower your torso and level your body.