By drawing the label first we avoid the overlap. By drawing just the label without the foldout we need to work around a unity problem with indentation and apply that ourselves. The foldout property will then be rendered without gui content
This way an inherited drawer will be used if it exists, which might not be too uncommon in the case of SerializeReference fields