Latest page version should never be newer than latest component version
By default, the latest property on a component points to the latest non-prerelease version of the component. In a custom pipeline (or future extension), this pointer can be updated to point to a different version. The latest page version should honor this reference. Currently, it does not. This, in turn, affects the canonical URL.
The latest page version is computed independently. As a result, it's possible that the latest page version can point to a newer version than the latest component version. Instead, when the latest page version is being resolved, it should start at the latest component version and work backwards in the version order until it finds the page. This way, the latest page version can never be newer than the latest version of the component.