Ah, this is incorrect and needs to be fixed. Same end ranges and therefore same addresses are being used, no top-ups are happening unlike in the master branch.
Testers can verify by commenting out https://github.com/bitcoin/bitcoin/blob/master/src/wallet/wallet.cpp#L1901 and running the wallet_fast_rescan.py test. The test will pass on master but fail on this PR.
This test passes on this PR if I comment out the mentioned line:
https://github.com/bitcoin/bitcoin/blob/92a3d30f382f2c72886cf4a0cdae43bed600148f/src/wallet/wallet.cpp#L1915
I believe this defeats the purpose of this PR unfortunately.
<details open>
<summary>Test logs</summary>
2026-03-14T14:10:59.925651Z TestFramework (INFO): Create txs sending to end range address of each descriptor, triggering top-ups
2026-03-14T14:10:59.925812Z TestFramework (INFO): Block 2/6
2026-03-14T14:10:59.926794Z TestFramework (INFO): -> range [0,99], last address mjAkjWRCvqYhC19St4Kd8FiBsAB1ZPKMXc
2026-03-14T14:10:59.971362Z TestFramework (INFO): -> range [0,99], last address mfcZh9XmUq131ziU4GK3NcwknEwwtn3Lg6
2026-03-14T14:10:59.990679Z TestFramework (INFO): -> range [0,99], last address 2MxpNQE4tcoDEYfyQzuXbeW2fqwcKMbgW6k
2026-03-14T14:11:00.034311Z TestFramework (INFO): -> range [0,99], last address 2Mw6n7anjw4cBnwVAsTnSJzoBkARvoXNEPV
2026-03-14T14:11:00.055303Z TestFramework (INFO): -> range [0,99], last address bcrt1p2fdjfxah28q62z4nwyfeh0y92pfxe0yfxdwwkll0ym85myreycyqxkau2x
2026-03-14T14:11:00.115288Z TestFramework (INFO): -> range [0,99], last address bcrt1pfrttk0ll80lzyj77hae83gg5ph4hetk0nkrctn2qdgk7k3q04nzq9kuhfs
2026-03-14T14:11:00.145300Z TestFramework (INFO): -> range [0,99], last address bcrt1q9cn8pruzkdvjaqsmul9ywftwrlyu025ssu5x04
2026-03-14T14:11:00.192296Z TestFramework (INFO): -> range [0,99], last address bcrt1qut6r25ltj42efca9xj7v8wlrefpcpevfqa5tfn
2026-03-14T14:11:00.219601Z TestFramework (INFO): Block 3/6
2026-03-14T14:11:00.220740Z TestFramework (INFO): -> range [0,99], last address mjAkjWRCvqYhC19St4Kd8FiBsAB1ZPKMXc
2026-03-14T14:11:00.229588Z TestFramework (INFO): -> range [0,99], last address mfcZh9XmUq131ziU4GK3NcwknEwwtn3Lg6
2026-03-14T14:11:00.240024Z TestFramework (INFO): -> range [0,99], last address 2MxpNQE4tcoDEYfyQzuXbeW2fqwcKMbgW6k
2026-03-14T14:11:00.246762Z TestFramework (INFO): -> range [0,99], last address 2Mw6n7anjw4cBnwVAsTnSJzoBkARvoXNEPV
2026-03-14T14:11:00.254477Z TestFramework (INFO): -> range [0,99], last address bcrt1p2fdjfxah28q62z4nwyfeh0y92pfxe0yfxdwwkll0ym85myreycyqxkau2x
2026-03-14T14:11:00.263729Z TestFramework (INFO): -> range [0,99], last address bcrt1pfrttk0ll80lzyj77hae83gg5ph4hetk0nkrctn2qdgk7k3q04nzq9kuhfs
2026-03-14T14:11:00.274483Z TestFramework (INFO): -> range [0,99], last address bcrt1q9cn8pruzkdvjaqsmul9ywftwrlyu025ssu5x04
2026-03-14T14:11:00.280881Z TestFramework (INFO): -> range [0,99], last address bcrt1qut6r25ltj42efca9xj7v8wlrefpcpevfqa5tfn
2026-03-14T14:11:00.300429Z TestFramework (INFO): Block 4/6
2026-03-14T14:11:00.304186Z TestFramework (INFO): -> range [0,99], last address mjAkjWRCvqYhC19St4Kd8FiBsAB1ZPKMXc
2026-03-14T14:11:00.311862Z TestFramework (INFO): -> range [0,99], last address mfcZh9XmUq131ziU4GK3NcwknEwwtn3Lg6
2026-03-14T14:11:00.319270Z TestFramework (INFO): -> range [0,99], last address 2MxpNQE4tcoDEYfyQzuXbeW2fqwcKMbgW6k
2026-03-14T14:11:00.328106Z TestFramework (INFO): -> range [0,99], last address 2Mw6n7anjw4cBnwVAsTnSJzoBkARvoXNEPV
2026-03-14T14:11:00.339337Z TestFramework (INFO): -> range [0,99], last address bcrt1p2fdjfxah28q62z4nwyfeh0y92pfxe0yfxdwwkll0ym85myreycyqxkau2x
2026-03-14T14:11:00.346269Z TestFramework (INFO): -> range [0,99], last address bcrt1pfrttk0ll80lzyj77hae83gg5ph4hetk0nkrctn2qdgk7k3q04nzq9kuhfs
2026-03-14T14:11:00.353791Z TestFramework (INFO): -> range [0,99], last address bcrt1q9cn8pruzkdvjaqsmul9ywftwrlyu025ssu5x04
2026-03-14T14:11:00.363796Z TestFramework (INFO): -> range [0,99], last address bcrt1qut6r25ltj42efca9xj7v8wlrefpcpevfqa5tfn
2026-03-14T14:11:00.383322Z TestFramework (INFO): Block 5/6
2026-03-14T14:11:00.385387Z TestFramework (INFO): -> range [0,99], last address mjAkjWRCvqYhC19St4Kd8FiBsAB1ZPKMXc
2026-03-14T14:11:00.394171Z TestFramework (INFO): -> range [0,99], last address mfcZh9XmUq131ziU4GK3NcwknEwwtn3Lg6
2026-03-14T14:11:00.405695Z TestFramework (INFO): -> range [0,99], last address 2MxpNQE4tcoDEYfyQzuXbeW2fqwcKMbgW6k
2026-03-14T14:11:00.412206Z TestFramework (INFO): -> range [0,99], last address 2Mw6n7anjw4cBnwVAsTnSJzoBkARvoXNEPV
2026-03-14T14:11:00.420359Z TestFramework (INFO): -> range [0,99], last address bcrt1p2fdjfxah28q62z4nwyfeh0y92pfxe0yfxdwwkll0ym85myreycyqxkau2x
2026-03-14T14:11:00.431522Z TestFramework (INFO): -> range [0,99], last address bcrt1pfrttk0ll80lzyj77hae83gg5ph4hetk0nkrctn2qdgk7k3q04nzq9kuhfs
2026-03-14T14:11:00.442100Z TestFramework (INFO): -> range [0,99], last address bcrt1q9cn8pruzkdvjaqsmul9ywftwrlyu025ssu5x04
2026-03-14T14:11:00.447409Z TestFramework (INFO): -> range [0,99], last address bcrt1qut6r25ltj42efca9xj7v8wlrefpcpevfqa5tfn
2026-03-14T14:11:00.469185Z TestFramework (INFO): Block 6/6
2026-03-14T14:11:00.472373Z TestFramework (INFO): -> range [0,99], last address mjAkjWRCvqYhC19St4Kd8FiBsAB1ZPKMXc
2026-03-14T14:11:00.479604Z TestFramework (INFO): -> range [0,99], last address mfcZh9XmUq131ziU4GK3NcwknEwwtn3Lg6
2026-03-14T14:11:00.487203Z TestFramework (INFO): -> range [0,99], last address 2MxpNQE4tcoDEYfyQzuXbeW2fqwcKMbgW6k
2026-03-14T14:11:00.497411Z TestFramework (INFO): -> range [0,99], last address 2Mw6n7anjw4cBnwVAsTnSJzoBkARvoXNEPV
2026-03-14T14:11:00.508043Z TestFramework (INFO): -> range [0,99], last address bcrt1p2fdjfxah28q62z4nwyfeh0y92pfxe0yfxdwwkll0ym85myreycyqxkau2x
2026-03-14T14:11:00.513448Z TestFramework (INFO): -> range [0,99], last address bcrt1pfrttk0ll80lzyj77hae83gg5ph4hetk0nkrctn2qdgk7k3q04nzq9kuhfs
2026-03-14T14:11:00.520729Z TestFramework (INFO): -> range [0,99], last address bcrt1q9cn8pruzkdvjaqsmul9ywftwrlyu025ssu5x04
2026-03-14T14:11:00.531293Z TestFramework (INFO): -> range [0,99], last address bcrt1qut6r25ltj42efca9xj7v8wlrefpcpevfqa5tfn
</details>