Help understanding AVR execution timing
This is a bad approach. Ideally you would measure a very large number of NOP commands - say, one million - instead of just one.  I think that's the first foolish thing I can find.  I would not be very surprised if your number changes right after you implement that change.

Also, can you view the disassembly of your C code?  I wouldn't even try to judge the timing without seeing exactly what assembly code was generated from my C code. I would try to work backwards from the assembly to calculate what the execution time should be (via the instruction set manual you found).  That way you can see if the scope measurement is off by a little or by a lot. A little might mean you made a math error.  A lot might mean one of your assumptions is wrong.