I have the same issue.
If an outside/inside perimeter is crossed during travel, then with "retraction vertical lift" a z-hop is included on the top layer.
But a travel inside the surface has no z-hop. see pic.
So the result is a scratch in the surface.
I did not see a value in version 3.1 to controll that.
Has anyone an idea?