A 100% new engine and 100% new assets would be the cleanest solution. It may end up being easier than trying to update existing mechanics and art assets too.
My dream would be this: the next expansion is...no expansion! Instead, release all the old expansions as separate server clusters. Even better, add progression characters that can move to the next expansion once they complete an expansion's checklist. For example, going to a Cata server would require lvl 80 as well as a clear of each Wrath dungeon and raid.
This launch would offer tons of replayability, more than a single expansion, which would hopefully give the devs more time to work on WoW2.
If this sounds far-fetched, the tech already seems to exist for vanilla to TBC classic servers. The remaining work would be getting the other expansion servers up and running.