For DefaultIndices, I believe this can be fixed by implementing those methods in the extension granting Collection conformance to DefaultIndices.
The problem occurs because at the point where DefaultIndices conforms to Collection, the only available implementation for distance(from:to:) is the single-ended default version from Collection itself. So that becomes the witness for DefaultIndices.distance.
By putting a concrete implementation in that extension, the compiler will choose that version instead of the default. All the concrete version does is forward to _elements, so the correct, dynamically-dispatched method will be called.
The triplicate witnesses for these indexing operations make it tricky to perfectly forward them to another collection; but AFAICT Nevin's fix successfully resolves the (almost universal) case where all three variants share the same implementation.