Have you tried using a MvGaussianRandomWalk for the latent ability and StudentT for the observation?
The underlying ability of a team probably doesn’t exhibit jump like behaviour but each individual match result can be far from the expected.
You also need a bias for the home team, I guess the mean of result vector is 0.3 or so.