IMO anything under 6 months is far too early and interfering with the natural development of the horse.
I weaned last years foal at 12 months without complications and because he was determined to continue nursing.
Moved him to a pasture 1 mile away and he jumped at least 4 or 5 barbed wire fences to rejoin his mare. Moved him farther and he did the same thing. Now he is miles away on another property.
Play it by ear. By the way we don't wean our calves here or at least the heifers that we wish to retain. Shalom