Find Collision UV: wrong coordinates. Cause?

Dear community,
I encountered a problem with UGameplayStatics::FindCollisionUV function after hit with box component.
At first, it works perfectly for me only in one specific case: 4-vertex plane (like a default plane in UE4 content).

The problem: for different meshes like default cylinder or sphere, there is a negative output of the function (testing on simple geometry). When result is positive, sometimes it is located outside of the actual geometry area. As a conclusion, result looks like very chaotic.

I tried different workarounds to solve this, from changing UV channel, up to modulo() frac() and abs() functions. Any tips?

257795-uv-fvector2d.png

Example of output: FVector2D of UV hit result