Adivinando tests.device_serial es una matriz, aquí está su error:
db.sessions.distinct("tests.device_serial", {"tests.device_serial" : {$ne: ""}})
La consulta en su comando distintivo está filtrando documentos donde la matriz 'pruebas' contiene un campo llamado device_serial con un valor de "", y no solo los campos en la matriz.
Para lograr lo que desea, puede usar el marco de agregación, desenredar la matriz en varios documentos, filtrar y agrupar por nulo con un comando $addToSet para obtener valores distintos.
Aquí está la consulta:
db.sessions.aggregate(
[
{
$unwind: {
path : "$tests"
}
},
{
$match: {
"tests.device_serial":{$ne:""}
}
},
{
$group: {
"_id":null,
"device_serials":{$addToSet:"$tests.device_serial"}
}
},
]
);