I think 3D Text object misses basic features like Middle Align and Bottom Align (Currently we have Left, Right, Center, Just and Flush, but they are for horizontal adjustments; The default vertical alignment is Top Align only). Unless I missed something, I'm afraid it is only possible by scripting or driver?
Top Align (Default behavior):
P.S.: I know we have Offset X/Y for in-line adjusting (that's what I used to mimic these GIFs), but that's not automatically calculated by line count.