I think I see an issue with the playouts counting. What I'm seeing is that the playouts starts counting at zero each move EXCEPT when Leela's opponent plays the move that Leela is expecting it to play; in that case the playouts count does not start at zero. Here's an example:
If Leela calculates a total of 50k playouts and determines that it should play Rb6 and expects the opponent to play Kc7 and the opponent does NOT play Kc7 then on Leela's next move it starts counting the playouts at 0, but if the opponent DOES make the move Kc7, when Leela starts calculating on it's next move it doesn't start counting at 0, it starts counting at something like 40k. If there is a sequence where Leela keeps guessing the opponent's move correctly, the playouts count gets pretty high, (I saw a sequence where it got to 989k).
This seems like a major issue when you combine it with the fact that if it exceeds the -p setting it will stop calculating. It seems to me that this would happen a lot during self play training since the likelihood for guessing the opponent's move is much higher and the -p setting is pretty low, (-p 1600). This could also explain poor endgame play.