Indeed VM IPv4 addresses are sticky, over the years I probably averaged one change per year, usually after having to move a cable, getting a new router and so on. But... they do change, usually when I am away, and are flagged in various block lists as dynamic, so a niggle.
VM decided they don't want me enough to renew my discounts, first time in decades. Fair enough, so I've left VM and these words are coming to you via the dreaded Openreach and their new fangled photons.
VM are taking revenge by still billing me, for a one month period starting 11 days out of contract, and are currently sitting on a credit of about 2 months. Allegedly I'll get back the credit 45 days after the contract end, by cheque 😐