I see two ways you can go about this:
1) The easier method involves setting the speed of the animations according to the engine's time scale, e.g. double animation speed if time slows down to 1/2 of normal speed. This is a property you can set via the AnimationPlayer
node and I'm sure the same must hold true for HUD elements too.
2) The more difficult option would be to not use Engine.time_scale at all. Instead, create variables that act as speed factors for all your movements in game. Then multiply movements speed by said factors to achieve the desired result. For example, if a kinematic body moves with a speed of Vector3(2, 0, 0)
, increase the speed by multiplying it by a factor of 2 when time speeds up or decrease it by multiplying by a factor of 0.5 when time slows down.