Different pool of players plays a big part.
Chess.com vs chesskid rating?

Clearly different players, but I am surprised the calibration is so skewed from absolute ability. I have noticed he is at 97percentile on ChessKid while 30% or so on Chess.Com, so I guess the problem is that ChessKid kids higher than 1050 or so are really quite strong relative to other kids, but cant get their ratings higher because there are so few of them?

A rating is only really valid in the pool of players it was gained in. I don't know what the rating starts at there but it is highly likely the strength of players there is on the lower end of the scale in general. The stronger kids probably just play here.
If the players higher than 1050 are winning the vast majority their games, they really couldn't be much more than 400 points higher than that anyway.
I don't know for sure if the exact implementation gives a minimum of 1 point for a win or not which can impact how much a rating ultimately outgrow the other players in a pool. However, if the top players are winning less, then their ratings would be closer to that 1050.
Ratings are relative, describing past performances and giving the statistical likelihood of game outcomes between two different ratings. They don't directly describe absolute strength.
Our soon-to-be first grader plays ChessKid fast 15 | 0 games, and 15 | 10 games on chess.com. On chesskid his rating is 1040, on chess.com it is 1170. This seems to be weird - would think he should be much lower on chess.com, playing vs more adults?