$unwind is taking more time

I have a mongodb data with a structure like as shown below

[{
    category: "ABC",
    sections: [
        {
            section_hod: "x111",
            section_name: "SECTION A",
            section_staff_count: "v11111",
            section_id: "a1111",
            :
        },
        {
            section_hod: "x2222",
            section_name: "SECTION B",
            section_staff_count: "v2222",
            section_id: "a2222",
            :
        }
    ]
}
:
:
]

I am using the below query for getting the total record counts and the records

db.getSiblingDB("departments").getCollection("DepartmentDetails")
.aggregate([
    { $unwind : "$sections"},
    { $match : { $and : [{ "sections.section_name" : "SECTION A"},
                { $or : [{ "category" : "ABC"}]}]}},
    {
        $project : {
            "name" : "$sections.section_name",
            "hod" : "$sections.section_hod",
            "staff_count" : "$sections.section_staff_count",
            "id" : "$sections.section_id"
        }
    },
    {
        $facet: {
            metaData: [{
                $count: 'total'
            }],
            records: [
                {$skip: 0},
                {$limit: 10}
            ]
        }
    }
]);

The above aggregation query is working fine but takes almost 10 seconds to return the results. I have total documents of 70K size in that collection. I have even indexed category and sections.section_name still it takes 6-10 seconds. I have noticed one key difference, which is when I put the $unwind after $match the results came super fast and took only 1-2 seconds…but the count was different.

Can someone please help me on this

That actually make sense. $match can use an index to filter documents if $match is the first stage in a pipeline.