Como resolver?

O ponto chave aqui é uma estrutura de repetição básica para iterar sobre uma cópia do array original, evitando que ele seja modificado.

Resolução

Para resolver basta utilizar uma nova variável para armazenar o array invertido e uma estrutura de repetição como o for referenciando o tamanho do array:

function imutableReverse(arr) {  const reversedArray = []

  for (let i = 0; i < arr.length; i++) {
    reversedArray[i] = arr[arr.length - i -1]
  }

  return reversedArray
}