Hola.
Me genera dudas el ciclo FOR, porque al hacer posicion < secretos.length
la posición arranca en 0 y el array también, por lo que no entra en el loop y suma una posición. Pero, al ir incrementando la posición del loop e ir agregando elementos en el array, se supone que siempre coinciden. Lo que haría que nunca entre al loop para verificar la condición del IF.
También intente hacerlo con dos FOR, pero no se por que, cuando agrega los elementos, en ocasiones agrega 2 o 3 elementos, y en ocasiones 4. Por una cuestión de que encontrado es true y no me agrega elementos repetidos.