Does that mean that virtual memory where Ntoskrnl is loaded stays unchanged in every process virtual address space?
Yes. There is one copy of the kernel in memory on a running Windows system, and the exact same kernel address space (i.e. 0x80000000-0xFFFFFFFF
on 32-bit) is mapped into every process.