Couple of questions…
Why do you want to do this, is it to get it running faster as it currently runs slow?
How many documents / big is the collection
How do you define when to include a Serial Number? You’re not sorting so is it the first 50 or random 50?
How about something like a $lookup onto itself with a pipeline limiting the matches?