The cranks and rods are not the same. They are the largest major differences between. Though the blocks are different too.
Early DOHC 2.5 blocks have Small 48mm rod journals, and a #3 thrust bearing location. The water jackets extend all the way down the walls of the entire cylinders. This leaves the cylinders left very tall and open all around, leading to resonance at the top and contributing to the head gasket failure rates. The small rod journals are known to fail often too. I'm not a fan of these blocks, although they do make GREAT power and rev QUICK (small journals, less crank mass)
SOHC 2.5 blocks use larger 52mm rod journals (like all the rest of the EJs) and move the thrust to #5. The water jackets at the top side of the block around the base of the cylinders is decreased. This allows faster coolant flow, less stagnant pockets under the crossover. It also gives more meat at the base of the cylinder to prevent resonance. These blocks had pistons that come right to zero at the block deck, later ones with AVLS, the pistons actually come way out of the block.
The 99's were a combo. They are basically the old DOHC 2.5 pistons stuck into the new 2.5 block. 52mm journals, #5 thrust, sturdy cylinders.
There were some changes in Oil pump rotor thickness too, though I am not clear on which are in what.....but they are all interchangeable, so find a 10mm pump if you don't have one.