There is experimental support to stop this detection in chrome now (74 and later). Go to chrome://flags/ and Enable "Filesystem API in Incognito". It should be on by default in an upcoming version.
For obvious reasons, you don't want that API active for private browsing (As persisting it would enable tracking), but by combining browser version detection to determine if a browser supports the API with feature detection to see that it's disabled, you can assume that "Private Browsing" is on.
Better browser API design might include in-memory only support for the API, but I haven't thought that all the way through.
Re: "how do they detect it?" -- without investigating it, I would suspect browser fingerprinting within a window time slice.
For anyone else who didn't know.
In that case, I just share to Pocket and read there (never a problem, even without an account). I assume they have some sort of deal with Pocket where they share analytics with the publishers in exchange for giving unpaywalled access.