I have found the factory first layer calibration routine on the Prusa MK3S+ to be effective, but somewhat frustrating. It relies on visually inspecting the size and shape of an extrusion line that is 0.2 x 0.4mm or so, while it is printing. It can be hard to discern exactly how the extrusion is performing in real time at such a scale.
To make it easier, I created a hand-edited g-code that prints sample squares in 20 micron increments, that are suitable for detailed inspection after printing completes. Use the factory routine first, to get close, then print the custom g-code.
It will print test squares at 20 micron Z-offsets from -80 to +80 microns. After printing completes, inspect the squares visually and by running a fingernail over the surface of the print. The ideal offset is smooth to a fingernail and fully dense (except tiny gaps where the fill meets the perimeter are ok).
In this case, 0 and -20 are smooth to a fingernail, but not fully dense. -60 is dense, but rough. -40 is both smooth and dense, so is the ideal offset from the current setting. If there are multiple offsets that are equivalently good, choose the most positive value.
To set the adjustment, run the factory first layer calibration routine, and ADD the new offset to the existing value. In this case, the existing value -0.642 mm + -.040mm = -0.682mm. Let the calibration complete and inspect the printed square to confirm it looks good.
As a final test, I print an array of squares across the print bed, 1 layer high, and make any final small adjustments with live Z.