Upgradable infers that the underlying contract address has a new chunk of code. That is not what this is proposing.
This is simply making resolving contracts, which is best practise today.
The danger here is that the user calling the contract is not aware of the proxy and the new contract does something unexpected.
It should be standard practice to have some governance model around the upgradeability (IE Multisig, Liquid Democracy, Aragon, etc...). Any contract that doesn't use some governance should be considered insecure and not used for financial transactions on the chain.