Creo que no me has entendido,
1.
NO puedes tener una referencia Conductor conductor y hacer que acepte sólo ConductorAutomatico, aceptará cualquier clase que herede de Conductor.
Lo que puedes hacer es que Coche tenga un atributo Conductor privado, de forma que sólo admita un conductor mediante un método set. Después en CocheAutomatico sobreescribes el set de forma que rechace cualquier Conductor que no sea ConductorAutomatico.
Cita: ¿Cuándo se cree la instancia debería ser: Conductor conductor = new ConductorAutomatico(); ?
Esto es correcto, pero no tiene que ver con lo que buscas. Si CocheAutomatico hereda de Coche, hereda también el Conductor conductor, y volvemos al punto 1.