Those data are calculated and stored in the coding plug of the cluster. So even when the battery is disconnected, those data are not disappearing.

Mileage calculation of the SI display at BMW
Main formula:
e = a * (1 + t + r)

details:
e = total kilometers / miles driven
a = currently driven kilometers/miles
t = variable which can have the following values
0 = vehicle has reached operating temperature
1 = vehicle has not yet reached operating temperature
r = variable that can have the following values
0 = engine speed is less than 4500 rpm
½ = engine speed is above 4500 rpm

Example:
If you drive 5 km with a not yet warm (not yet at operating temperature) engine and an engine speed higher than 4500 rpm, the SI calculator will calculate 12,5 km for the total driven kilometers. Although you drove only 5 km.
a = 5 (currently driven kilometers)
t = 1 (engine not yet at operating temperature)
r = ½ (the engine speed was above 4500 rpm)
e = 5 * (1 + 1 + ½) = 12.5 km

Results for the driver:
When the counter (e) has reached a certain value, one of the SI LEDs will go off and the date for the next service appointment will be closer again. The exact values ​​depend on model and year of production.

The clock symbol in some country versions is time-dependent as a reminder for changing the brake fluid every 2 years on the E32


Translated from below German information provided by EEk28 on the German forum: Kilometerberechnung der SI Anzeige bei BMW
Hauptformel:
e = a * ( 1 + t + r )

Bestandteile :
e = insgesamt gefahrene Kilometer
a = aktuell gefahrene Kilometer
t = Variable die folgende Werte haben kann
0 = Fahrzeug hat Betriebstemperatur erreicht
1 = Fahrzeug hat Betriebstemperatur noch nicht erreicht
r = Variable die folgende Werte haben kann
0 = Motordrehzahl liegt unter 4500 U / min
½ = Motordrehzahl liegt über 4500 U / min

Beispiel :
Wenn man 5 Km mit einem noch nicht betriebswarmen Motor und einer Motordrehzahl größer 4500 U / min fährt wird der SI Rechner für die insgesamt gefahrenen Kilometer 12,5 Km berechnen. Obwohl man ja lediglich 5 Km gefahren ist.
a = 5 ( aktuell gefahrene Kilometer )
t = 1 ( noch nicht betriebswarmer Motor )
r = ½ ( die Motordrehzahl lag über 4500 U / min )
e = 5 * ( 1 + 1 + ½ ) = 12,5 Km

Ergebnisse für den Fahrer :
Wenn der Zähler ( e ) einen bestimmten Wert erreicht hat wird eine der SI LED’s aus gehen und der Termin für den nächsten Servicetermin rückt wieder etwas näher. Die genauen Werte sind Modell- und Baujahrabhängig.

Das Uhrensymbol in einigen Laenderausfuehrungen ist zeitabhaengig, fuer Wechsel der Bremsfluessigkeit alle 2 Jahre beim E32