On one hand I'm not surprised that Amy knew, but on the other, I'm surprised by how bluntly she stated this. I guess we never knew until now bc there just wasn't anyone Amy would have told this to.
That chapter where Amy woke up in Bibi's bed super stressed (it was late) and commented that she didn't care what kind of person Bibi was or how Bibi treated her, I think that was already an indication that Amy was a lot more self aware and perceptive than she lets on (Bibi isn't a great person + you don't treat me well).
Bibi is selfish, but Amy is more like... she knows, but she doesn't care. She just wants Bibi to be happy, even if she can't be the source of that happiness herself. What's interesting is that, no matter how nonchalant they may treat the situation, both Amy and Bibi understand a lot of the big picture, even if it's not the full picture.
But I will say that no matter how surprising and aware Amy seems right now, I still suspect that her perception is overly negative. Her assertion seems pretty accurate but I don't think she's noticed the little changes that we, as readers, have noticed from Bibi's behaviour in previous chapters. Amy doesn't realise that she's been slowly changing Bibi. (Such as their friendship initially being established by Bibi as conditional, but it hasn't really been the case for a while now, like Bibi defying Camilla and picking Amy over Camilla's date promise).