Is there a variant of Linux kernel for virtualization that runs in-memory in a state that can't be read by the host operating system?
Not possible. The host can read everything, no matter what it is.
Encrypted memory means there must be a decryption key, and that key must reside in clear, in the memory. The memory the host has full access. Not only access to memory, but the instruction execution too. No matter how you hide that, the host will have access.