Here are some more functions that I think should be declared as impure:
Modelica.Math.FastFourierTransform.realFFTwriteToFile - contains calls to several impure functions, e.g. Modelica.Utilities.Files.removeFile.
Modelica.Math.Random.Utilities.initializeImpureRandom - contains call to impure function setInternalState.
Modelica.Utilities.Examples.readRealParameter - contains call to impure function Modelica.Utilities.Streams.readLine.
Unlike in #3855 it looks like these functions are only called in places where calling impure functions are allowed.