ERC20 token transfers and upgradable smart contracts

I was wondering what is the best practice when working with upgradable contracts and ERC20 token transfers, is it better to "keep" tokens in the proxy contract, in the current implementation or in a third non-upgradable contract?