I’m not sure you’ve given enough info to help you, partly because what you have given seems to contradict itself somewhat but I’ll take a swing here.
IF you have your seed phrase (12 words) and metamask accepts it than the wallet created MUST be yours. They derive from some algorithmic math and it’s pretty damned close to if not absolutely impossible for the seed phrase to work and you get a wrong address out of it.
Further, you say you see the transactions history. So are these YOUR transactions? (ie are they correct and match up to what you expect?)
If so I’m hard pressed to think you have the wrong wallet address.
One thing you can check imo is take one or a few of the transactions you accept as correct and look them up on Etherscan. The address they were sent from/to will be shown and is incontrovertible and should (will) match with the Metamask address.
There is one other possibility I can think of that I’ll throw out there in case it’s what’s going on.
When you use the seed phrase to restore a wallet it only restores the FIRST wallet address (what Metamask calls “accounts” within the wallet) that was created. If you had created additional of these “accounts” they are not automatically restored. You can pretty easily restore them by clicking “Create Account”, once for each of the accounts that you had / need to recreate. Meta will NOT remember the names for these, you have to name them again.
Personally I think it’s a fairly dumb way to handle it (and I actually came here to post about just that) but I’m guessing it might just be where your “missing” wallet address is “hiding”.
DM me if you intend to keep that promise of a nice dinner