Според вашите данни за колекцията вие сортирате по ключ с общи стойности.
При първото агрегиране на агрегиране, което използвате (skip,limit) => (0,4) в този случай mongo сортира документите по ред от всички документи и резултатът е сортиран.
Във второто агрегиране вие отново използвате (skip,limit) => (4,4) в този случай mongo сортира документите от целия документ, където документите могат да бъдат дубликати, докато имат една и съща стойност в ключа.
Така че след сортиране по вашите данни, трябва да сортирате данните си с произволен уникален ключ (или „_id“ или „име“), както желаете. Забележка:ключът трябва да е уникален
нещо като по-долу
db.testing.aggregate([
{
$sort : {
"percentage": -1,
"_id" : 1
},
},
{
$skip : 0
},
{
$limit:4
}
]);