The page size on the x86_64 architecture (same as in i386 or IA-32, which is the 32-bit version of the architecture) is 4KiB.
You will also see references to 2MiB because that's one of the sizes of "huge pages" in the x86_64 architecture, which also allows for 1GiB huge pages, which are used in Linux in some situations as well. (The 32-bit variant i386 or IA-32 has 4MiB huge pages instead.)
Furthermore, the Linux kernel has a feature called "transparent huge pages," which is often enabled by default in many modern Linux distributions. Whenever a process allocates larger amounts of memory, the Linux kernel might decide to allocate 2MiB aligned chunks of memory and to set the page tables to give the process huge pages instead. But if the system goes into memory pressure and needs to swap out some memory, it's still able to break that down into separate pages, so it can swap some of them out and keep the others in memory. (In some circumstances, it is also able to reassemble transparent huge pages from an allocation that included single pages.)
In regards to kernel vs. userspace, there are several nuances into how page tables are set up (and security features, particularly ones introduced after the latest security issues such as Spectre and Meltdown, try to isolate page table mappings from kernel and userspace.) But typically both kernel and userspace will access the same memory region the same way, for instance huge pages (transparent or otherwise) will also use huge page mappings when in kernel mode.