In Jenkins 1.531 the behaviour is still as described by Erich.
What's even uglier is that when leaving the box ticked a workspace local repository will always be used, even if default and/or job settings specify a repository local to the executor. In my use case that results in (matrix-)builds that take a lot longer than they should.
It is not possible to configure executor-local repositories, except by turning off "use private repository" every time the job is modified and hard-coding -Dmaven.repo.local=$HOME/jenkins/maven-repositories/$EXECUTOR_NUMBER into the argument of the pre-build job.
Should the checkbox be removed (as per suggestions by radaczynski) I definitely would expect the pre/post jobs to use the same maven.repo.local configuration as the main job.
The m2-extra-steps plugin doesn't actually handle the Maven execution (or shell,
or Ant, etc) of the extra steps - they run the same as they would in a freestyle
project. As a result, they're completely unaware of anything set for the POM,
MAVEN_OPTS, private repository, etc for the main Maven execution of the job. If
you want to have the extra steps use the main Maven execution's private
repository, you'll want to click on the Advanced button for your Maven extra
step, and add "maven.repo.local=${WORKSPACE}/.repository" to the Properties
field. That'll make sure the Maven invocation in your extra step has the needed
-Dmaven.repo.local=... in its arguments.