Interesting ideas, thanks for sharing!
- indeed, although I would actually mention things like
on_idle
or upcoming#[pallet::task]
as they are more specific to a chain. Offchain worker is somewhat of a poorly understood concept and sometimes misleading. But indeed it is also unique to a runtime. - indeed, if you want to change anything in the system itself, you need a chain. Very similar to VPS vs dedicated hardware.
- I do think you can have any language to also transpile to Solidity or compile to EVM byte code, so I don’t find this one unique to runtimes/chains/FRAME.