Solved it after some trial and error. Apparently the padding was added to the rectangle, but it was divided equally between the rect.top and rect.bottom, so the solution was:
@Override
public void getHitRect(Rect outRect) {
super.getHitRect(outRect);
outRect.top+=getPaddingBottom()/2;
outRect.bottom-=getPaddingBottom()/2;
}
If one of you Android experts care to explain why I would be grateful, since I don't understand how it works and I just can't see the logic in it.