OP here. Thank you so much for taking the time to write it!
This is so much easier to understand, and I also learnt a few things along the way, like the zero page mechanism, munmap having to notify the MMU about the invalid TLB and more.
Really appreciate it!