"If people use languages with mutable variables they have to know how pointers work" -> wrong. They don't. That's the idea of a high-level language, to hide how the computer interprets your instructions so you can focus on giving instructions.
Now, understanding pointer would help a lot, but that's a different argument.
I don't agree. The difference between copying a thing and referring to a thing is not some low level technical detail that you can abstract from. It's a fundamental structure of any system, not just computer systems.
Now, understanding pointer would help a lot, but that's a different argument.