I don't know anything specifically about Old English, but there are plenty of examples in other languages that show that grammatical "gender" does not have to have an exact correspondence to real "gender".
In modern
German, for example, there is a rule that all nouns which end in the suffix
-chen are neuter. So the common
German word "Mädchen", meaning "girl", is neuter, not feminine, in
German.