Liverpool to Manchester is an exception to that. Milepost numbers increase towards Manchester even though it's the up direction.
In fact, two exceptions. Both via Chat Moss and via Warrington!
The line out of Marylebone is another one. According to Quail the first milepost is be 205 3/4, measured from Manchester London Road, but Up is towards Marylebone.
Obviously changes of designation for the same direction of travel have to happen, including one at any triangular junction. Generally however I think Up and Down on non-London lines was chosen is to minimise the number of changes of designation of the most important traffic flows (at the time the designation was made, which of course may not apply today).
Using the example of Derby-Birmingham-Bristol, yes this requires a change of designation at Derby (though it may not have when built, since the original London line left Derby northwards). But it means that there was no further change at any of the principal intersections of New Street, Gloucester, Standish or Temple Meads. I believe the parallel GW and Midland lines between Gloucester and Cheltenham had opposite designations for the same direction of travel.
Borders Railway fits with this too, since trains going towards Tweedbank will leave Waverley as up trains. And there's a discussion somewhere on here about how Bletchley-Oxford designations have been reversed for the reopening work in progress, which lines up at Oxford, Calvert and Bletchley though not at Bicester.