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.
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?
Session cookies AFAIK are allowed under the US and EU privacy regs and are necessary for some sites to function, for better or worse.
Thats the official press release of Schrems organization.