I'm not sure what properties of the system you assign to the DDD label, but in my experience DDD just means you put the domain first. It's all the Event Sourcing and CQRS baggage which gets lumped together with DDD and adds heaps of non-essential complexity.
If the understanding of the domain changes, you change the code - there's no way around that.
If the understanding of the domain changes, you change the code - there's no way around that.