It also detects Firefox's Private Browsing and tells me that reading in Private Browsing is a privilege for paying subscribers.
Wait, so if I don't want to be tracked, their solution is to sign in to an account which is tied to my meatspace name and credit card?
indexedDB isn't implemented in Firefox's private mode. [0]
So if you can guess that it is Firefox, and can't use indexedDB, then you can guess that you're in private mode.
But there are other differences you can look for under Chrome, the simplest of which is that navigator.storage is smaller whilst incognito mode is active.
And under Safari you can just check if localStorage actually stores things.