Does the timing of this work? You buy the card, but before you gain it, you move it to another pile. Then when you try to gain it, it's lost track of right? The only way it works is if the copy you move is actually under the top card, but I'm not sure if you're "allowed" to make a card that does that. I don't really have a suggested fix for that though.
That's an interesting point, but I think we already have Talisman that works this way: with Talisman in play, when buying a ruin, you first gain a copy of it, and if the card below it is the same, you also gain that one (right?). Similarly with Farmland and trashing a 4$ card from your hand. So I would say that the ruling is that, when interacting with a card from the Supply, you can interact with any from the set of identically-named cards on top of the pile.
tl;dr you should be able to move a card and gain the one below (or viceversa). Otherwise, I could change the trigger to be on-gain, rather than on-buy.
I'm not really a fan of the idea, but I'm having trouble putting my finger on exactly why I don't like it. I think maybe it's because it's hard to imagine what kind of deck you would really want it in.
Off the top of my head:
You would want it when the other player is following a different strategy than you, or simply when you want to mess up their buying order.
You also want it for pile control (you can empty piles twice as fast, and you can put cards on top of empty piles to make them non-empty again).
Actually, I think the idea might work better as an event. Something simple like "Move a kingdom card from one supply pile to another", and costs $2 probably? That fixes the timing problem too.
Mmm, maybe... Intuitively, unrestricted moving is just too strong, that's why my version does it conditionally on you buying a copy of the card, but that could be worked into the event. A similar idea would be to make it an on-gain or overpay effect of the card, instead of on-play, to limit the number of times that this effect takes place.