It's impossible to upgrade the wallet version from v3 to v4 without changing the address.
Basically, the wallet is one of TON blockchain smart-contract and the wallet's address is the smart contract's address. The address of the newly deployed contract in TON depends on two things - the deployed bytecode and the initial contract storage. As we will have new bytecode(from the difference between v3 and v4 contracts) and new initial data - we will always get a new address.
Perhaps a trick with adding a "set code" or "white list" function into new version of wallet smart contract will allow to save one address from version to version. But at the moment it looks very complicated and insecure for the wallet smart contract.