Как вывести индексы массива объектов?
путаете индекс массива со свойством id в ваших объектах?
const indexArr = users.map(( item, index ) => item.index)нет у item'а свойства "index". Тогда уж, возвращайте переданный index: (item, index) => index Впрочем, индексы выводить, скорее всего, не нужно — для чего печатать числа от 0 до N.

const fullNames = users.map( fullName ).filter(( item,  index, array ) => {
    return array.indexOf( item ) === index
})
Что здесь происходит: сначала из массива объектов через метод массива .map() создаётся новый массив, состоящий только из полных имён. Функцию fullName() вы не привели в вопросе, но скорее всего, она из item'а делает строку item.name + ' ' + item.lastName

Далее, этот массив фильтруется – остаются только те имена, для которых их индекс в массиве равен индексу первого найденного такого же имени.

Например
массив ['Вася', 'Оля', 'Вася']
Поиск имени "Вася" вернёт 0 - в нулевой позиции он нашёлся. Для первого Васи это ок, он останется. Зато для третьего Васи индекс будет 2, а поиск вернёт всё тот же 0. Так как 2 !== 0, дубликат-Вася вылетает и не попадает в результат.
выводит undefined так, как метод .map проходит по всему массиву, т.е каждый объект пользователя в этом массиве и у него нет параметра (значения) index.
если Вам нужно узнать индекс какого-либо элемента массива по его параметру (например по айди), то нужно пройтись с помощью map по всему массиву и indexOf узнать его индекс по нужной переменной, пример:
const id = 5;
const users = [
    {
        "id" : 5,
        "name" : "Jalla",
        "lastName" : "Koo",
        "age" : 22
    },
    {
        "id" : 6,
        "name" : "Jalla",
        "lastName" : "Koo",
        "age" : 22
    },
    {
        "id" : 7,
        "name" : "Lella",
        "lastName" : "Moo",
        "age" : 33
    }
];
const index = users.map(x => x.id).indexOf(id);