The problem is that cache hits now create "holes" in the compact dict and trigger periodic compaction. In contrast, the existing code leaves dicts unchanged when there is a cache hit.
I prefer the current code. Though it took a little more effort to implement, that work is already done and done well. The linked lists are cheap and have consistent, predictable performance. I also like that the current implementation is only loosely coupled with dictionaries and not tightly tied to the compact dict with its evolving implementation details.