I have dig out that if you want to make to domain/IP combination works in pi hole w/nginx, the hostname has to be the same as the domain you assign. Just like:
Before:
hostname: monday
domain: monday.lan
After:
hostname: monday.lan
domain: manday.lan
And the issue fixed.