O 2dsphere não suporta a consulta $box. É por isso que sua consulta cai para uma verificação de coleção completa.
A caixa documentação afirma o seguinte:
Only the 2d geospatial index supports $box
Adicionar um índice 2d deve fazer o truque, algo como:
db.property.ensureIndex({"details.lonlat": "2d"});