For your 800 runner I would use the races as tempo runs. You might consider some type of tempo run (2-4 miles) year round in order to improve the top end of aerobic capacity. You’ve already identified his weakness and his SI (stamina idicator) ratio is really weak with regard to 400 pr vs. 800 pr.
With a runner like that, you will most likely find that they don’t tolerate what I call volume of volume intervals. They won’t do really well with many repeats of over 300 meters. So you start with steadily increasing the number of 200’s they can do without sacrificing too much quality. Then you can work toward him being able to do repeats of 400-600 meters at about 3k pace. Do what you can to convince him that his biggest performance gains will come by improving aerobic capacity and power. He probably won’t get much more that 2-3 seconds faster in the 400, but he could improve his 800 about 10-15 seconds. I’m guessing by what you say that he could improve his 1600 by about 45-60 seconds.
Three miles isn’t really all that far and the confidence he will achieve by running the races will be invaluable.
Sounds like you are doing well with both kids in terms of working them at an appropriate volume and intensity. Too many coaches forget that the goal of training is to make them faster. Your plan seems like it will help them improve and will leave them with plenty of running left in their legs. Keep up the great work!