This is the solution from the unreal forum thread. Read the tread to see the full solution. https://forums.unrealengine.com/t/who-interacted-with-the-3d-widget/2355115
Ok I tried it and it seems to work. But I need to say this solution is a bit janky if I think about it. I don't know why Unreal isn't improving on their widget handling in general.
For the people reading this after the solution here is how I did it.
I made a reference in the widget for the parent actor. When the button is pressed it triggers a event/function in the parent actor and passes the local character as described here
GetPlayerCharacter(0) → Will get the local character from the world you are interacting.
This actor has a reference for the owning pawn. These two can be compared and there you go the owning distinction is implemented.
Again thank you @JonathanBengoa for the help and look at his suggestion for this wiki its really helpful https://cedric-neukirchen.net/docs/category/multiplayer-network-compendium/