Хз он же там как-то хендлит ошибку и примерно понимает где она произошла значит это или 40х или хоть 200. А 500 оставить на случай каких-то реальных пробоем на сервере или вообще недерменированного поведения, нет?
У каждого хттп статускода есть своё назначение. Странно, кмк, на ошибку чтения из базы возвращать 4хх или 2хх
Обычно как удобно так и делают. Вне зависимости от того что там было (и насколько близко к реальности по итогу с годами) у тех кто придумывал http/rest/etc. Из интереса как то проводили мини анализ в рамках которого выяснили совсем не удивительную вещь: сервисы как правило делятся примерно на две равные более или менее группы (предоставляющие какое либо АПИ сервисы): те кто упарываются в хттп коды и те кому и так ок, т.к. все в любом случае в респонс боди кладут код или описание ошибки.
Единственно что платежные системы, как правило, всё же предпочитают использовать все способы донести, что ты делаешь что то не то. И вот они и хттп код тебе пришлют и в боди напишут. Наверное, если могли бы, то и мамке бы позвонили))