Как отправить данные на сервер с Ajax на чистом JavaScript?
Отправку данных делаете так:
spoiler// Ждем когда элементы на странице прогрузятся:

document.addEventListener('DOMContentLoaded', function() {

	// Вешаем на кпопку обработчик клика, чтобы при каждом клике
	// сразу запускалась функц я dataSend отвечающая за отправку данных:
	
	document.querySelector('.button').addEventListener('click', dataSend);
	
});

// Функция для отправки данных на сервер:

async function dataSend() {

	// Получаем данные с нужных нам полей в переменные:
	
	var loginValue = document.querySelector('.login').value
	var emailValue = document.querySelector('.email').value
	var passwordValue = document.querySelector('.password').value
	var conf_passwordValue = document.querySelector('.conf_password').value

	// Создаем объект с данными:

	var data = {
		'login': loginValue,
		'email': emailValue,
		'password': passwordValue,
		'conf_password': conf_passwordValue
	}

	// Конвертируем объект в JSON:

	var json = JSON.stringify(data);

	// Отправялеям полученный JSON на сервер обычным POST-запросом:

	var response = await (await fetch('https://yousite.ru/handler.php', {
		'method': 'POST',
		'headers': {
			'Content-Type': 'application/json; charset=utf-8'
		},
		'body': json
	})).text();

	// Выводим ответ сервера в консоли:

	console.log('Ответ сервера:');
	console.log(response);

}
Замените только ссылку на php-обработчик на свой. Далее, принимать данные отправленные, как JSON надо по другому. Пример получения данных отправленных, как JSON:
spoiler<?php

// Включим показ ошибок:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

// Считываем полученный JSON:

$json = file_get_contents('php://input');

// Раскодируем JSON в массив:

$array = json_decode($json, true);

// Выведем массив, чтобы посмотиеть, что в нем:

header('Content-Type: text/plain; charset=UTF-8'); // Указыавем браузеру, что ответ будет обычным текстом
echo "Из браузера получены следующие данные:\n"; // Выведем текст-предупреждение
print_r($array); // Выведем все, что находится в массиве
Поместите объявление xhr вовнутрь return new Promise.