2d apply force in direction of object

For 2D this does not work …

rigidbody2D.AddForce(transform.forward.normalized * speed);

duplicate: How do I make a 2D object move in the direction it's facing, like .forward for 3D? - Unity Answers

As I said in the comments, you should use transform.right:

rigidbody2D.AddForce(transform.right * speed);

transform.forward still points behind your screen, even in 2D mode.

For anyone wondering why I choose “right” for default (zero) direction. Here’s the unit circle. transform.right is [1, 0, 0] and, according to that definition, has an angle of 0 degrees.