Cycle #2 (I'll use zero-based cycle numbers, so it corresponds to cycle #3 in your chart) of JSR is a throwaway read because the 6502 uses a very weird trick to save some die space on the chip.
Here you can see how the internal state of the CPU changes on each half-cycle while it's executing a JSR $1234 instruction according to the transistor-level emulation of Visual 6502: http://www.visual6502.org/JSSim/expert.html?graphics=f&loglevel=0&a=0000&d=203412&steps=14&logmore=adh,adl,alu
cycle ab db rw Fetch pc a x y s p adh adl alu 0 0000 20 1 JSR Abs 0000 aa 00 00 fd nv-BdIZc 00 00 00 0000 20 1 JSR Abs 0000 aa 00 00 fd nv-BdIZc 01 ff ff 1 0001 34 1 0001 aa 00 00 fd nv-BdIZc 00 01 ff 0001 34 1 0001 aa 00 00 fd nv-BdIZc 01 fd fe 2 01fd 00 1 0002 aa 00 00 34 nv-BdIZc 01 fd fe 01fd 00 1 0002 aa 00 00 34 nv-BdIZc ff fd fd 3 01fd 00 0 0002 aa 00 00 34 nv-BdIZc ff fd fd 01fd 00 0 0002 aa 00 00 34 nv-BdIZc ff fc fc 4 01fc 00 0 0002 aa 00 00 34 nv-BdIZc ff fc fc 01fc 02 0 0002 aa 00 00 34 nv-BdIZc 00 02 fb 5 0002 12 1 0002 aa 00 00 34 nv-BdIZc 00 02 fb 0002 12 1 0002 aa 00 00 34 nv-BdIZc ff 34 fb 6 1234 00 1 BRK 1234 aa 00 00 fb nv-BdIZc 12 34 fb 1234 00 1 BRK 1234 aa 00 00 fb nv-BdIZc 12 35 12
As you can see, on the second half of cycle #1, it puts the value in the stack register (S) into the address register (ADH:ADL). So far so good.
Then, on cycle #2, it puts the value that it read on cycle #1 (low byte of the target address) into S! It uses the stack pointer as a temporary! It cannot put it into PCL yet because it will need the old value later to push it on the stack and also to fetch the high byte of the target address later.
While doing this internally, it reads (and throws away) a byte from the address pointed to by the address register (which now contains the old value of the stack pointer) because the 6502 has to perform either a read or a write on every cycle (and a read is safer in the presence of memory mapped devices).
Then, on cycles #3 and #4, it proceeds to push the old (still not overwritten) value of PCH and PCL, in that order, just like in your chart.
Finally, on cycle #5, it reads the high byte of the target address, puts it in PCH while simultaneously copying S into PCL and copying the updated stack pointer value, which ends up in ALU register due to decrement operations during the push cycles, back into S.
Truly crazy design.