We need an index for that:

db.poi.createIndex( { "tags.amenity" : 1 } );
And the new "explain" output:

db.poi.find( { 'tags.amenity' : 'pub' } ).explain();

        "winningPlan" : {
            "stage" : "FETCH",
            "inputStage" : {
                *|007700|"stage" : "IXSCAN",|*
                "keyPattern" : { "tags.amenity" : 1 },
                "indexName" : "tags.amenity_1",
                "isMultiKey" : false,
                "isUnique" : false,
                "isSparse" : false,
                "isPartial" : false,
                "indexVersion" : 1,
                "direction" : "forward",
                "indexBounds" : {
                    "tags.amenity" : [ "[\"pub\", \"pub\"]" ]
                }
            }
        },