I've done some data logging and math mumbo-jumbo in Excel and actually got a partial answer to my questions. And, sadly, it is extremely unappealing. Here it is, maybe someone may find it interesting.
For example, this is typical "Speed" readings in a period of 2 seconds.
125,125,125,1507,1507,1507,1507,1507,1507,1507,1507,1507,1507,1507,1507,1507,3080,3080,3080,3080,3080,3080,3080,3080,3080,3080,4215,4215,4215,4215,4215,4215
During that time, the car was accelerating from a low speed. This was done on a local server (ping < 1 ms), with PPS = 12, and captured by a local InSim app.
As you can see, Speed is updated not 12 times per second (as dictated by PPS), but about 2, and even less on average. Changing PPS to a default 4 didn't change anything.
However, the coordinates change in every packet - and by comparing
sqrt( (X1-X2)^2 + (Y1-Y2)^2 + (Z1-Z2)^2 )
and Speed, I have found out that
1) when Speed is constant, coordinates are a linear approximation.
2) when Speed changes, the coordinates "jump".
In the light of this, some new questions arise.
Question 1:
Does the LFS server really send the newest and accurate data via InSim? I personally find it hard to believe.
Question 2:
If the answer is 'yes', what is the meaning of PPS?
Question 3:
If the answer is 'no', why?