I was having a weird experience that a simple UI with only vertex color Images and TextMesh Pro which create around 30 drawcalls. Looking into the issue and I found TextMesh Pro will not be batched and even break the Images batches between them when the Z-position of TextMesh Pro is not 0. Furthermore, UI Images will be batched even they are not in same Z-pos.
The image below is a simple test case to present the issue. Every object is a no texture image + a TextMeshPro. The first two objects have a Z-pos adjustment and you can see the image and TMPro can not be batched but the last 3 objects are fine. Tested on Unity 2019.2.18f1 and Unity 2019.3.0f6 with both TestMeshPro 2.0.1 and 2.1.0 preview 11
If no any Z adjustment everything goes fine. So this behavior is by design or there will be a fix?