O código do modo kernel pode fazer praticamente qualquer coisa, incluindo bisbilhotar os espaços de endereço de vários processos.
Sim, o código do modo kernel usa o espaço de endereço virtual. O kernel gerencia espaço de endereçamento físico, mas ele não é executado em espaço de endereço físico.
O modo de usuário não pode ler o que quiser da RAM porque não tem como afirmar endereços físicos.
Como o modo kernel é executado com a conversão de endereço ativada, o código do modo kernel também pode apenas declarar endereços virtuais. Mas o código k-mode pode configurar as entradas da tabela de páginas para definir os endereços virtuais que traduzem para qualquer endereço físico que possa ser acessado.