Para
$addToSet
para não adicionar um elemento, o elemento deve completamente corresponder a um elemento existente. Com createdOn
sendo a hora atual é fácil ver porque isso nunca acontece no seu caso. Então
$addToSet
funciona bem para elementos com Date
campos, mas requer uma correspondência exata, assim como qualquer outro tipo.