Yes, the padding does help to have the selection aligned properly. However, my issue was rather with the background sprite (selected in above screenshot) of the list. It is overlapping the popup list button by its border amount.
I hack-fixed it for me by changing UIPopupList.cs around line 950 to:
bool placeAbove = (position == Position.Above);
if (position == Position.Auto)
{
UICamera cam = UICamera.FindCameraForLayer(mSelection.layer);
if (cam != null)
{
Vector3 viewPos = cam.cachedCamera.WorldToViewportPoint(startingPosition);
placeAbove = (viewPos.y < 0.5f);
}
}
if (placeAbove)
mBackground
.cachedTransform.localPosition = new Vector3
(0f, bgPadding
.y * 2
.0f, 0f
); else
mBackground
.cachedTransform.localPosition = new Vector3
(0f, 0f, 0f
);
That fixes the issue in my specific case but might break other stuff. I am not quite sure why background sprite is supposed to overlap the button. You would always want the background sprite to start where the button ends, or not?