Estoy agregando esta respuesta porque estaba buscando una solución y no la encontré. Es posible que esto no responda exactamente a esta pregunta o puede serlo, pero ayudará a muchos otros como yo.
Ejemplo. Si el campo con null es houseName y es de tipo string , la solución puede ser así
db.collectionName.createIndex(
{name: 1, houseName: 1},
{unique: true, partialFilterExpression: {houseName: {$type: "string"}}}
);
Esto ignorará el null valores en el campo houseName y seguir siendo único.