Wild guess: You (your visitors) are requesting the affected locations via a GET request - which is a safe request - and thus Neos does not start “the part of its persistence that persists changes”. That is by design, as a safe request should not alter any data.
Of course, your case is perfectly valid: such small data alterations, as visitor-counting, logging, etc… might be done even on safe requests. Now I do not really know the Neos / Flow code well, but you could look for a method like
PersistenceManager->persistAll() and call that explicitely.
Exclaimer: I don’t know anything, neither your case nor Neos by heart. Just guessing.