I think this is an EMT stitch up and that they have changed the validity codes inappropriately so that they always apply to their bit. E.g. for off-peak returns, Exeter to Nottingham is 9J, which is also used for London to Nottingham, and Nottingham to Exeter is 7E, which is used for Nottingham to London. Trouble is that when you check, say, Exeter to Nottingham you are indeed prevented from booking on trains that are not permitted for Exeter - London OR London - Nottingham. Tickets from the western region, as it were, to the Midland mainline seem to have EMT codes in both directions. On the other hand, e.g. Exeter to Retford does what the supposed rule says, with code LC, the same as Exeter to Paddington, and no evening restrictions out of Kings Cross.
I find it very interesting and suspicious that EMT appear to set the fares for all MML to western region tickets, regardless of the proportions of travel involved. For example, Penzance to Wellingborough is set by EMT but they only provide 65 miles of the overall distance of 370 miles for that journey. They have essentially cancelled the provision for the "from London" part to be unrestricted, while to "to London" part still seems to have restrictions as well, even though these are not actually in the restriction code. Even worse, the through off-peak return is 208.30, while Penzance - Padd is 131.00 and St Pancras to Wellingborough is 63.00, so there's even a 16.30 surcharge for a through ticket...
As I mentioned sometime in the past, I was once detained by the BTP, who arrived at the request of an RPI, when heading into London during the morning peak on a return half of a saver return from somewhere down west. At the time, the ticket had a western region code; now it has an EMT one. Even then, the RPI refused to even check the rule, let alone did she have any idea of its existence. It's an example of a failure to appreciate something that is often pointed out here, that restrictions apply to tickets but not to trains.