I figured to add some params to the Page Cache Key. I will test this for some time.
return new PageCacheKey(
$entityType,
$entityId,
$newUrl,
(int) $currency->id,
(int) $context->language->id,
(int) $context->country->id,
(int) $context->shop->id,
(int) Group::getCurrent()->id,
(int) $context->customer->id, // added comma
(int) $context->getMobileDevice(), // added
(int) $context->isTablet() // added
);