2dsphere stöder inte $box-fråga. Det är därför din fråga faller till en fullständig samlingsskanning.
Boxen dokumentationen står följande:
Only the 2d geospatial index supports $box
Att lägga till ett 2d-index borde göra susen, ungefär som:
db.property.ensureIndex({"details.lonlat": "2d"});