Tested in 2.2.0, when accessing the browse hold shelf from Circulation > Browse Hold Shelf, if there are a considerable amount of holds to load (more than 1 page worth), if checkmark "View Shelf-Expired Holds" before all the holds finish loading, the system will just continue to display all holds rather than just the expired ones.
It looks like the code in question is in Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm under the fetch_captured_holds method.
It looks like both API's (captured and expired) use the same method, fetch_captured_holds, and in the middle of the method it checks to see if it was the expired API that was used to adjust it's database query accordingly. Unless the capture method seems to run it's full course first, it doesn't work when switching to the expired API too quickly.
I've seen this occur as well. Marking confirmed and assigning targets.