This is no longer the case. While it does not currently provide a stable API, that functionality exists in the deno_runtime crate and is relatively easy to reuse.
Also using ops within Workers is challenging, particularly if they share state.
There's now `call_blocking` and `call_async` to call a JavaScript function from Rust from normal and async call sites
The public API should remain the same, as will the extensions, so swapping out backends is an interesting idea to explore