Workers Reverse Proxy Assets

Hi,

I am trying to set cloudflare workers up as a reverse proxy. Aim is to have
mysite.com/ to load data from tahini.feast-it.com and
mysite.com/suppliers to load data from tahini.feast-it.com/suppliers and
mysite.com/login to load data from platform.feast-it.com.

There will be other routes for both of these, but this is enough for an example hopefully. Both of these are apps hosted on Vercel.
I have two basic workers that look like

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const url = new URL(request.url)
  const hostname = 'https://tahini.feast-it.com'
  return fetch(`${hostname}${url.pathname}`)
}

They are loading the site (see https://testing.feastit.co.uk/) but everything in _next/static/* and external images are not loading. They just error with 522 if you look in the console.

Everything I can find points me to the most basic “Conditional Routing” example, which doesn’t contain this logic. All of the examples are really basic and I can’t find any decent, fleshed out reverse proxy with workers code.
Ideally I want a reverse proxy with assets and caching if anybody has an example?

I have also just noticed if I access it via the workers.dev url, it works totally fine.

Also my DNS setup for this subdomain is