It isn't a MongoDB or Vibe.d issue.
In D language you can not create associative array with different types of values.
To fix it just serialize all values to BSON:

fwColl.update(
    ["_id":BsonObjectID.fromString(fwID)],
        ["$push":[
	    "elections":[
                "id": propositionID.serializeToBson,
                "propName": propositionPage["proposal"].get!string.serializeToBson,
                "vote": resp.serializeToBson
            ]
        ]
    ]
);