Почему POST принимается как GET?
GET и POST могут быть одновременно. Что явно указано в URL после "?" - GET, что в теле запроса - POST.
curl честно отправляет POST запрос на указанный вами URL, включающий в себя GET параметры. Для добавления POST параметров используйте ключ --data