Workers KV is actually largely implemented as a Worker, in TypeScript. :)
Think of `workerd` as the "kernel" of our "cloud operating system". We try to avoid putting things in the kernel if we can. Features like Workers KV, R2, Queues, D1, etc. are generally built as "userspace" services, that is, they run as Workers.
Durable Objects is a bit special, it's inherently something that needs to be in the core runtime, and which many of these other services build on top of.
FWIW, if I were starting over I'd probably write the runtime in Rust, but it wasn't quite ready yet when we started six years ago.
https://github.com/cloudflare/workerd