The reason it's never been fixed is because there's not really any way to fix it.
If the item's not in stock, there's nothing to tell the sold out page you're buying from the free shop, so it uses the item's normal shop information instead. With normal shops this works fine because the item will be sold out of the right shop, but when you're buying from the free shop it unfortunately means it doesn't have the right information to redirect you.
Honestly it'll probably be this way forever and I'll be explaining this over and over again every year :P