Inconsistencia al configurar el tamaño de fuente TextView en código y en recursos

Los documentación oficial no parece responder esto, o no puedo entenderlo.

Element (no importa elAlertDialog, también sucede en cualquier TextView):

TextView tv = (TextView) dialog.findViewById(android.R.id.message);

Inconsecuencia. Caso A:

tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
// or tv.setTextSize(14); does the same

Caso B:

tv.setTextSize(getResources().getDimension(R.dimen.text_size_small));
// TypedValue makes no difference either.

dóndevalues/dimens.xml lo tiene:

<dimen name="text_size_small">14sp</dimen>

Result: el tamaño de la fuente no es el mismo y parece mucho más grande cuando se recupera del recurso. Probablemente me estoy perdiendo algo, entonces, ¿cuál es mi error y lo más importante: por qué?

- ACTUALIZAR A LA PRIMERA RESPUESTA -

El número fijo fue solo un ejemplo, ya que nadie codificaría de forma fija los tamaños de fuente fijos en el código. Entonces déjenme reformular la pregunta:

¿Por qué si obtengo el recurso del código, el tamaño del texto es mayor que cuando obtengo el recurso de un diseño XML? Además, la pregunta sigue siendo la misma: ¿cómo recupero una unidad de 14sp en código y la mantengo consistente con la unidad de 14sp que está configurada en el diseño XML? No acepté la respuesta porque no me dice cómo usar las unidades sp del recurso en el código para el tamaño del texto.

En este diseño, el tamaño de la fuente es diferente, incluso si la dimensión es la misma:

<TextView
            android:id="@+id/my_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/TextBody" />

styles.xml:

<style name="TextBody">
    <item name="android:textSize">@dimen/text_size_small</item>
    <item name="android:lineSpacingMultiplier">1.1</item>
    <item name="android:textColor">@color/body_text_1</item>
    <item name="android:textIsSelectable">true</item>
    <item name="android:linksClickable">true</item>
</style>

Ver text_size_small allí? ¿Por qué en este caso el tamaño de fuente es más pequeño que en el código, usando el mismodimen ¿recurso

Respuestas a la pregunta(3)

Su respuesta a la pregunta