Levelshift distorts when freq is higher than 4kHz
Disagreeing with the prior comments...
You are way slower than where you should see speed related issue with the 358.  GBW is 1.2 MHz, you are running gain of 2 so you should be good to 600kHz small signal.  Slew rate 0.5V/us is also faster than you are if I'm reading the scope correctly.  What you have is more likely a phase margin issue.  I've sim'd this and your circuit is showing ~130° phase lag.  Swapping to the TL072 changes that to 90°.   

I believe that LM358 should be fine in a diff amp configuration (ref changes to 2.5V to match the sig gen) with a little low pass filtering to avoid the phase margin issue: