There is no point doing the work from the worker since you will hit huge latencies. You worker could be on one side of the world and your DO on the other. If you want remote access to SQLite, might as well use D1 and get the other niceties too.
Each
await stub.something()
await stub.something()
you call is a roundtrip. You can pipeline several together if you design your DO class properly but even that's very limited.
The power of DOs is to have the logic inside the DO so that you can do very very fast access to storage.