Truffle upgrades upgrading to the same implementation address

To clarify, as long as the implementation contract bytecode is the same as what was previously deployed, it will reuse it. See Upgrade contract without changes to storage layout - #2 by ericglau

If you change the implementation contract, it should deploy the new one.

Are you using a real network or a local development network? (If using a local development network, note that Truffle could reuse the same address if the network was reset after a previous run).