This is expected, here’s a full explanation: Issue With Worker-To-Worker HTTPS request - #8 by harris
TLDR: Same zone (domain) Worker Requests will bypass the other worker and try to use the non-existent origin. If they are on a different zone, the worker request will invoke the other worker properly.
If you want to have these workers use each other, use Service Bindings: About Service bindings · Cloudflare Workers docs, which has lower latency and such as well.