i eventually managed to track down what's going on here and have worked around it for the moment until I find a permanent solution.
as @Steve Fischer had suspected the menu thinks it's on the blog page while it is in fact on a CPT page. What exactly is happening is that the class "current_page_parent" is being appended to my Blog menu link on CPT details pages.
mysite.com/custom-post-menu-link/ - all good - my separate Blog menu link doesn't get the current_page_parent class.
mysite.com/custom-post-menu-link/my-custom-post - my separate Blog menu link gets the current_page_parent class.
For now I just removed my selector rules for .current_page_parent but this isn't a permanent solve - it at least stops the Blog menu link being highlighted incorrectly.
Are CPT pages technically children of Blogs? If so, this seems to be an issue for people in my situation.