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
]
]
]
);