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.