The application depends on a different but related behavior, which Wine does not test: Whether a context can share to a context that is not *sharing* yet, but has been made *current*.
I think that's "Test 2" isn't it? If you mean the source context, then it's "Test 4", although yeah it also tests with a context which has already shared lists (though its peer has been destroyed since then, so maybe that has some importance).
Imho you should probably clean these tests up, testing only one aspect at a time (and then the combined aspects), and add more tests if they don't cover this use case.
Then, see if the fix implementation still fits, or adjust it.
If some tests pass only under some specific driver, we can decide which behavior to chose, but at the same time it also has to mean that the application doesn't run on this hardware.