According to these anonymous sources, Opera indeed has developed an iPhone version of Opera Mini, but they haven't submitted it to Apple just yet, so it couldn't have been rejected in the first place. So, concerning this specific point, we have a New York Times blogger paraphrasing from an interview he conducted with Opera's CEO - and John Gruber's anonymous sources. I have little reason to doubt any of the two's good intentions, but only time will tell who's got it right on this one.
John Gruber dove a little deeper into the possible reasons why Opera Mini would be rejected, and apparently, he didn't know the difference between Opera Mobile and Opera Mini. Now that he does, he seems to think a possible rejection of Opera Mini might stem from its use of MicroEmulator, a pure Java implementation of J2ME in J2SE, when porting Opera Mini to Android. Android doesn't have a full J2SE implementation, so Opera had to write their own bridge to run Java ME bytecode on Android.
The iPhone doesn't have Java in any shape or form, so Gruber argues that "if what they've done for the iPhone is along the same lines - that they've gotten a Java ME runtime running on the iPhone - it's clearly outside the bounds of the iPhone SDK Agreement." Article 3.3.2 reads:
Assuming that Opera Mini was ported to the iPhone in the same way as it was ported to Android, it wouldn't pass Apple's iPhone rules. Opera Mini will need to use the native iPhone APIs in order to be accepted into the App Store.
And then Apple could reject it on some other ground.