The Laws of Cricket aren't always great at defining what certain terms used within the Laws mean, and I think "crossed" is one of those cases. However, we can use the definition in Law 30.2 which does clearly define which ground belongs to which batsman:
30.2.1 If only one batsman is within a ground, it is his/her ground and will remain so even if he/she is later joined there by the other batsman.
30.2.2 If both batsmen are in the same ground and one of them subsequently leaves it, the ground belongs to the batsman who remains in it.
30.2.3 If there is no batsman in either ground, then each ground belongs to whichever batsman is nearer to it, or, if the batsmen are level, to whichever batsman was nearer to it immediately prior to their drawing level.
This then makes it easy to determine if the batsmen have crossed: if the ground belonging to the striker is at the non-striker's end, the batsmen have crossed. Therefore what is required is that:
- Both the striker and non-striker have left their ground
- The non-striker is closer to the striker's end than the striker
(There are some edge cases about batsmen running up and down the pitch multiple times before the catch is taken. I'm ignoring those here as they're somewhat unlikely).
Both those criteria are met in this case, so the non-striker would be on strike for the next ball (assuming it wasn't the end of the over of course!)