I have no other comments. This is expected behavior of Ipopt. If you violate the assumption that the problem is convex, there is no guarantee what stationary it will find.
Do I have to explicitly pass gradient and Hessian info to Ipopt? or something else?
Nope. JuMP uses automatic differentiation to compute the various gradients and Hessian oracles.