Actually, you have it wrong, but I couldn't find any documentation stating this explicitly.
Those 4 properties are defined by the maven-antrun-plugin and are not part of Maven itself. From Referencing the Maven Classpaths:
You can also use these classpath references:
maven.compile.classpath
maven.runtime.classpath
maven.test.classpath
maven.plugin.classpath
This plugin creates those 4 properties so that Ant tasks can refer to them. You'll find where those properties are created if you take a look at the source code, copied here for reference
Path p = new Path( antProject );
p.setPath( StringUtils.join( mavenProject.getCompileClasspathElements().iterator(), File.pathSeparator ) );
/* maven.dependency.classpath it's deprecated as it's equal to maven.compile.classpath */
antProject.addReference( "maven.dependency.classpath", p );
antProject.addReference( "maven.compile.classpath", p );
p = new Path( antProject );
p.setPath( StringUtils.join( mavenProject.getRuntimeClasspathElements().iterator(), File.pathSeparator ) );
antProject.addReference( "maven.runtime.classpath", p );
p = new Path( antProject );
p.setPath( StringUtils.join( mavenProject.getTestClasspathElements().iterator(), File.pathSeparator) );
antProject.addReference( "maven.test.classpath", p );
/* set maven.plugin.classpath with plugin dependencies */
antProject.addReference( "maven.plugin.classpath", getPathFromArtifacts( pluginArtifacts, antProject ) );
By analyzing this code, it is possible to conclude that:
maven.compile.classpath corresponds to elements of the classpath that are of scope compile.
maven.runtime.classpath corresponds to elements of the classpath that are of scope runtime.
maven.test.classpath corresponds to elements of the classpath that are of scope test.
maven.plugin.classpath corresponds to the dependencies of the maven-antrun-plugin itself.