Como você já descobriu, a diretiva error_page especifica um documento que é relativo ao documento root .
Uma maneira de contornar isso é criar um arquivo separado contendo as especificações da página de erro, que contém os blocos location apropriados e, em seguida, include de cada server que usará o "global" error_page .
Por exemplo, um arquivo /etc/nginx/global404 :
location = /404.html {
root /var/www/default;
}
error_page 404 /404.html;
Agora, em cada bloco server , você irá:
include global404;