In unicode the default is still SS [1] while the Germans seem to have changed it to ẞ [2]. That means now it's the same on every system, but once the unicode standard changes and some systems get updated and others not there will be different behavior of len("ß".upper()) around.
I don't know how or if systems deal with this, but ß should be printed as ss if ß is unavailable in the font. It's possible this is completely up to the user.
page 48:
> E3: Bei Schreibung mit Großbuchstaben ist neben der Verwendung des
Groß buchstabens ẞ auch die Schreibung SS möglich: Straße – STRAẞE –
STRASSE.
While in older versions [1] it was the other way around:
> E3: Bei Schreibung mit Großbuchstaben schreibt man SS. Daneben ist auch
die Verwendung des Großbuchstabens ẞ möglich. Beispiel: Straße –
STRASSE – STRAẞE.
I don't know how or if systems deal with this, but ß should be printed as ss if ß is unavailable in the font. It's possible this is completely up to the user.
[1] https://unicode.org/faq/casemap_charprop.html [2] https://www.rechtschreibrat.com/DOX/RfdR_Amtliches-Regelwerk...