Without knowing exactly what your interface and code looks like, I think you are correct in the implementation.
The interface should be on the player and have it return the player controller. When a collider on the object overlaps with the player it can perform an interface call on “other actor”. Since the player is the only one with this interface you’ll only continue the function if the other actor is in fact the player.
Then have a function on your player controller that shows “press e” on the screen; reverse with OnOverlapEnd to hide it. Call that function from the returned interface reference on the object.