Based on what you want, the catch rate on your "invalid" file is wrong.
Weedle and Kakuna have different catch rates.
As I said with my earlier example, specific to Gen 1 mons, PKHeX can determine (or guess) the encounter based on catch rate.
In your case, specific to this example, with these values applying to untraded to Gen 2 mons:
Catch rate 255 -> Caught as Weedle
Catch rate 120 -> Caught as Kakuna.
No way a Beedrill would have Weedle's moves if it is caught as a Kakuna.
So while the game doesn't store met location, it does store the catch rate, which could be used to determine what the mon was when it was caught.
Catch rate stored on the mon doesn't change unless you trade it to Gen 2.