If you don't have your tickets yet, or you can change without penalty, consider flying "open jaw" into either London or Edinburgh and home from the other. That will save you the time and cost of backtracking to wherever you first landed. For instance, your plan for Day 5 is to train from Edinburgh to London, which will take more than four hours. That's half a day less sightseeing or whatever you want to do. Even if your flight to or from Edinburgh connects through London, you'll save time.
Presumably your "Day 1" is the day you land in the morning, and "Day 8" is the day before you fly home (on Day 9). If that's correct, I don't think it's too many cities, but as you know anyone could spend the whole time in London without running out of things to see and do. That said, each of your three cities has unique and wonderful qualities, and you may want to expose your kids to all three. I suggest a family discussion of what you all want to see and do in each city, with help from a good guidebook including how much time to allow for things, then a decision about which cities you'll have time for.
Trains to York leave from King's Cross station, which is on the Piccadilly Line from Heathrow, certainly the simplest way to make that connection even jet-lagged. You'll have a choice of good seats because the line begins at the airport, but keep in mind that you'll probably be traveling during morning rush hour and the train (subway in US-speak) will be packed going through the city.