I don’t think it’s a given that the two are connected just from that. Since other sites have access to the same data (or at least most of it), it’s more likely that both the client and those sites access Riot’s servers to retrieve the game information, so if mute data isn’t included, there’s nothing to grab (not that it can’t be added). Still, there doesn’t have to be a direct connection between the client and the game for the client to be able to get your KDA.
As far as the client restart after game goes, it’s possible that there’s a background process that runs even when it’s “closed”. It could ping Riot’s servers for game status and check to see if the game closes, which could also explain why it takes so long to get out of game.
Then again, I haven’t seen their code, so all of this is just speculation, but it’s definitely possible to accomplish those things without ever establishing direct communication between the client and the game.