Puede desenrollar el documento incrustado y luego hacer coincidir el estado y luego usar groupby contar todos los documentos.
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
{ "$group":{"_id":null, count: {$sum:1}}}
])
O
Simplifique la búsqueda de todos los documentos y cuente la longitud de la matriz
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
])