i like it!
one way to keep them from racing it - don't start them all together....this will make it harder for you timing them....but since time is not the goal (feel is) i would send them off in singles or pairs or maybe small groups of runners who normally race together. and the goal is really for them to monitor their effort more than it is for you to monitor their effort (only they can really know how hard they are working) they need to learn to trust themselves on this
also having them do the same distance as the race might be another thing to rethink - not that 3 miles is a bad distance, but since this is just a training run, i might shorten it to two miles or even lengthen it to 4 miles (if i though they were going to go too fast i would tell them to stop at 2; if i thought they were going to stay well controlled i might have them go 4). Personally, i would even let them decide how far to go vs. having a preset distance during the workout. If they only go 2 miles, i might add a couple 400-600 after the tempo or even a 2nd mile tempo.
when you train by feel, number and distance do not need to be set in stone.
i like your idea of not letting them warm-up too much. I do it the same way. Essentially you are wanting them to spend the first 800 to mile warming into the temp so that they will not be running the same pace the whole way. Once they get into that zone, then their pace can be consistent. But even then, if they are really listening to their body they should pushing at times and pulling (back) at times. This is very hard to teach, but a very important part of smart racing. this teaches them that sometime even slowing down just a little at various points in the race (like after a big hill, etc) can help them recovery quicker and get back on pace faster...plus they are able to race the whole race vs running hard the first 1/2 or so and then running slower all the rest of the way (as most runner do). this is why their race splits often tail off so much.