Ya sea que almacene un objeto vacío o una matriz, ¿cuál es la diferencia? En BSON, las matrices y los objetos se almacenan de la misma manera, como un dict . De todos modos, a tu pregunta.
Para el controlador PHP MongoDB, una matriz vacía es solo eso, una matriz vacía, por lo que la almacena como una matriz. Cuando agrega un par clave/valor a la matriz, así es como el controlador entiende que debe almacenar un objeto.
Si realmente desea almacenar un objeto vacío, intente:
$d = new \stdClass();
$collection->insert(array('z' => $d));