NanoPi R4S-RK3399 is a great new OpenWrt device

You are right. I traced the issue to DNS.

I am having issues with stubby for cloudflare DoT

When I disable stubby opkg update works fine.

But now the issue is why is stubby causing issues. Here are my settings (which work fine with my RPi3 OpenWrt router - instructions here):

Per those instructions, there's only 2 steps after installing stubby:

  1. "DNS forwardings"
  2. "Ignore resolv file"