Deproject Screen to World seems not getting the correct Vector while Player is moving.

I am very new on making games and to UE, I will try to make my question as clear as possible.

I have an UI Screen 2D vector extracted from Widget BP and Cast to the Player BP.

Then I use Deproject Screen to World to get the world location. It works great while the character is still, you can see the box generated here underneath the Health Bar:

The 2D Vector is a fixed one(bind to the Health bar), then I use Deproject Screen to World just like this(from Event Tick), there is a simple vector calculation after wards using this result with the Camera Vector, and the ground Z value to get the ground X,Y value, as said it works well while still:

Problem is: When I move the Character, for example to the right, this generated ground location and the Box will move to the opposite direction of my Character, It doesn’t stay under neath the health bar:

So I compared some Vectors while running. The health bar is on my right, so the X value should always be greated than my Camera’s. But I see this value become smaller.

Green is the UI 2D vector deproject to world
Red is the camera vector.
Blue is the fixed UI 2D vector in Screen.

At still green is greater:

d75f4564794904d355cfeae3ef9d4d0a

While moving to the right, Green is smaller than Red, so this deproject world vector is somehow calculated my UI is on the left of my camera. And the box is generating at the wrong place.

88b21f3ea52f3efb6f27b9140c57b0d8

If the character stops, Green Vector will locate back to the correct location (greater than red)

7e5d756936717a6cf1f71d057d54f238

Question: Since the UI Vector is a fixed value and Deproject Screen to World is the only thing happened in between, I am not sure how to fix this issue. Is the Deproject Screen to World node is not quite capabable while character is moving?

My goal is to achieve a hitbox underneath my health bar UI on the ground so my character can interact. Appreciate for any suggestions!

Use Orthographiccan makes it work but is there a way to fix this in perspective camera?