Ferrari driver Leclerc and McLaren's Lando Norris had delayed their first pitstop in Shanghai and were able to convert to a one-stop under a mid-race safety car, deployed to recover Valtteri Bottas' stricken Sauber.
Perez and team-mate Max Verstappen had already made a green flag pitstop earlier and were forced in a second time so they could get to the end on hard tyres.
Verstappen's ferocious pace meant he was able to keep his lead, but Perez came out behind Norris and Leclerc.
According to the Mexican, having to use his hard tyres to pass Leclerc meant he ran out of tyre life to catch and pass Norris, who comfortably split the two Red Bulls at the finish.
"At that point, the gap was already quite big and given how good his pace was on a first stint in terms of degradation I knew it was going to be close," Perez said after finishing six seconds behind Norris and 19 behind Verstappen.
"We basically had the same pace. Once you go by the car ahead and you stop fighting for I don't know how many laps we ended up fighting between Charles and myself, then it's really game over.
"You use so much of your tyre. You put so much energy into them that they never really come back. It's quite a high-degradation place and I paid the price.
"But that was the only way I could get by Charles because we were obviously at the same tyre age and it was really difficult to get by."
Team principal Horner agreed with the Mexican that the timing of the safety car scuppered Red Bull's chances of another one-two finish, with Perez between six and nine tenths slower than his world champion team-mate in clear air after passing Leclerc.
"The safety car came out at just the wrong time. We effectively had to convert to the same strategy as them for the second half of the race, which cost Checo track position," Horner declared.
"He dropped behind Lando and Charles and I think he was probably pushing hard to pass Charles.
"He maybe took too much out of the tyre at that point, which then didn't leave him enough to have a go at Charles at the end. I think without the safety car it would have been a one-two."
Watch: F1 2024 Chinese Grand Prix Review – Verstappen dominates