Transform.forward is perpendicular to my Cylinder

I have a model missile from asset store and a cylinder as a missile. They both get launched with:

rb.AddForce(Vector3.up * liftForce, ForceMode.Impulse);
Debug.DrawRay(transform.position, transform.forward, Color.red);

as you can see from my image, the asset has the correct transform.forward vector but for cylinder it’s orthogonal to the object. What did I do wrong? How can I fix this?

You didn’t do anything wrong. A cylinder in Unity is aligned with the Y axis. Forward is +Z.

But as for how to fix it: the solution is to create an empty GameObject, and put the Rigidbody and whatever scripts you need on that. Tuck the cylinder inside it, rotated and scaled as desired (so that now its axis is along +Z of the parent object).