I ran into the exact same problem, in the end I had to wind up using
nameField.contentInset = UIEdgeInsetsMake(-4,-8,0,0);
where nameField is a UITextView. The font I happened to be using was Helvetica 16 point. Its only a custom solution for the particular field size I was drawing. This makes the left offset flush with the left side, and the top offset where I want it for the box its draw in.
In addition, this only seems to apply to UITextViews where you are using the default aligment, ie.
nameField.textAlignment = UITextAlignmentLeft;
Align to the right for example and the UIEdgeInsetsMake seems to have no impact on the right edge at all.
At very least, using the .contentInset property allows you to place your fields with the "correct" positions, and accommodate the deviations without offsetting your UITextViews.