From my perspective he spent a huge amount of money buying American weapons in order to make Iran the police of the Middle East, instead of investing that money in real domestic industries.
I don't see how that makes him a puppet though. Close your eyes and imagine the Iran during the Cold War.
Don't forget Iran was invaded by the British and Russian forces. Shah wanted to avoid that at all cost. This was a very tense period. Every nation was building up their military. We had already been invaded once and occupied. We had already been exploited enough by Western nations. Shah thought that building a strong military was most important and he was completely right!
that for a long time the US wanted to keep the Middle East underdeveloped so that they would keep the oil flowing elsewhere.
I am not sure what you mean by keep the oil flowing elsewhere but I agree with you so much that the US wanted to keep the Middle East underdeveloped. This is also exactly why I believe the US and some other Western nations wanted to see the Shah gone because Iran was getting way too strong.
But I don't think you can be an unconditional ally without being a puppet.
I honestly don't know where Henry Kissinger said that. But it is important to know that he is not the sole authority on this matter. You said yourself, we have to take everything with a grain of salt right? I even linked you to a CIA report from late 1970s where the CIA says that the Shah only cares about the interests of Iran. You can even hear the Shah say: "So you want me to be your stooge?"
Even Israel and the US have disagreements
Trust me... Shah had a lot of disagreements with USA....one of them being the oil prices. US was pretty pissed at the Shah for raising the oil prices by three times with OPEC. Sometimes when US didn't sell Iran weapons, we bought them from the Soviet Union. We begun having closer relationship with Eastern Europe and the Soviet Union which the US disliked and saw the Shah as "unpredictable"