Cuando te sumerges en la documentación de mysql y busque la funcionalidad RAND(), verá que puede usar una "semilla".
Al usar una semilla, siempre obtendrá los mismos resultados que son aleatorios.
Ejemplo:
$products = Product
::all()
->orderBy(DB::raw('RAND(1234)'))
->paginate(4);
Puede generar su propia semilla y almacenarla en una sesión o algo para recordarla.
Actualizar
El Generador de consultas de Laravel ahora tiene una función que hace exactamente lo mismo:
$products = Product
::all()
->inRandomOrder('1234')
->paginate(4);