I can't find any source citing this behaviour specifically for Chrome, but this sort of thing is usually done to prevent code on the page from being able to access user history, which is a privacy concern.
The Selectors API has a section dedicated to this issue. Here's a small, relevant snippet:
History theft is a potential privacy issue because the
:visited
pseudo-class in Selectors allows authors to query which links have been visited.
...
As defined in Selectors..., user agents may treat all links as unvisited links.