Зачем нужны методы отправки данных отличные от GET, POST?
Удобно эндпойнты в апи делать

[GET]    /order/{id}  получить информацию о заказе
[POST]   /order/{id}  создать новый заказ
[PUT]    /order/{id}  обновить данные в заказе
[DELETE] /order/{id}  удалить заказ

Вместо

[GET]  /order/{id}
[POST] /order/{id}/create
[POST] /order/{id}/update
[POST] /order/{id}/delete

будет ли нормальная поддержка этих методов в том же php и формах html?

https://caniuse.com/mdn-http_methods_put
https://caniuse.com/mdn-http_methods_delete

А что вы имеете ввиду под нормальностью в php? Определить метод запроса можно, прочитав $_SERVER['REQUEST_METHOD'], получить данные из php://input

UPD

Нашел вопрос аналогичный. Ответы краткие но емкие и по делу.
https://stackoverflow.com/questions/27941207/http-...
Можно всё отправлять, даже любые кастомные методы тем самым нарушив спецификацию.
spoiler[
    'OPTIONS', 'post', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'TRACE', 'CONNECT', 'hui'
].forEach(method => {
    try {
        const req = new XMLHttpRequest()
        req.onload = console.dir
        req.open(method, '/')
        req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

        req.send(JSON.stringify({
            method
        }))
    } catch (er) {
        console.error('disallow', method)
    }
})