Всем спасибо... Натолкнули на мысль, что я допускал одну очень простую ошибку..... Итак, по логике работы данного кода, помимо массива я передавал еще и почту, на которую нужно отправить данные.  Соответсвенно, убирая event.target из formData я конечно терял введенное значение и массив то может и принимался, только куда его и что с ним делать....код не знал... по итогу, решение такое:
Во первых решил остаться все-таки на formData, т.к. возможно в скором времени понадобиться пересылка файлов. 
Во вторых.  просто собрал массив, а не массив объектов, как было до этого.
как-то так
//объявляем массив для сохранения значений
        const messagesValue = [];        
        //перебираем массив сообщений
        messages.forEach(element => {
            if (element.classList.contains('AB__chat__inner__center__bot')) {
                messagesValue.push("Оператор: " + (element.children[0]).textContent);
            }
            else if (element.classList.contains('AB__chat__inner__center__people')) {
                messagesValue.push('Вы: ' + (element.children[0]).textContent);
            }
        });
в третьих. formdata формирую следующим образом:
validation
        .onSuccess((event) => {
            let formData = new FormData();
            formData.append('key1', JSON.stringify(array));
            formData.append('key2', input);
            let xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4) {
                    if (xhr.status === 200) {
                        alert('');
                    }
                }
            }
            xhr.open('POST', 'mail.php', true);
            xhr.send(formData);
            event.target.reset();
        });
}
ну и наконец,  принимаю это дело так
if (isset($_POST['key1'])) {
  $array = json_decode($_POST['key1']);
..............
 $inputValue = $_POST["key2"];
По итогу все заработало.  Невнимательность прежде всего.... всем спасибо, и будьте внимательны))