Sono is 27, after the timeskip 31. Rio is 17 and after the timeskip 27. The age difference didn't get messed up. Everytime Sono talks about the fact that he had acted like a straight guy and that he hid his feelings for 22 years, he means that he always knew he liked guys, but when he was 5 years old his mother told him that he wasn't normal. From then on he hid his true self and acted like a "normal" person. Sono explained that to Rio in chapter 6 and in chapter 4 page 8 there is the moment of Sono's past where his mother tells him that he is weird. In chapter 1 page 14 Sono says that he is 27 already.
I'm sorry. I went back and reread it to see exactly where it was. I seemed to have read it wrong when Sono was thinking in the first chapter about how he had been hiding it for 22 years. I feel like it was a little confusing, because he doesn't mention realizing that he needs to hide liking boys at age 5 until chapter 4. I misunderstood what I read the first time.
....I have a question.
If Sono is 22 and they have a 10 year age gap... is Rio 12?
At some point I think the age gap got messed up. O_o;