You need to use the transform of the rigidbody to convert the local axis to a global axis:
var forcemult=20
var direction= Vector3(0,0,-1) #example: direction in -z
var global_direction = global_transform.basis.xform(relOffset)
apply_impulse(Vector3(0,0,0), global_direction * forcemult) #apply to bodies center
I used global_transform because this also directly transforms the axis when the body is child of another body.
If you want to transform a global value back to a local then use global_transform.basis.xform_inv(vector)
(Doesn't have to be a RigidBody, any Object derived from Spatial has a transform)