You can write a script to output the informations you need in the console :
import bpy
verts, edges, polys = 0, 0, 0
dg = bpy.context.evaluated_depsgraph_get() # Getting the dependency graph
for obj in bpy.context.selected_objects:
obj = obj.evaluated_get(dg)
# This gives the evaluated version of the object. Aka with all modifiers and deformations applied.
mesh = obj.to_mesh() # Turn it into the mesh data block we want
print(' Object :', obj.name)
print(' Vertices :', len(mesh.vertices))
print(' Edges :', len(mesh.edges))
print(' Polygons :', len(mesh.polygons))
verts += len(mesh.vertices)
edges += len(mesh.edges)
polys += len(mesh.polygons)
print(f'Total : {verts} Verts, {edges} Edges, {polys} Polys')
I tried it with 3 objects and subdiv, decimate, build modifiers (not applied) :
The downside is you have to run the script each time you do it and check the console. With a bit of effort you can transform it into a custom operator and write the information somewhere in the 3D view.
Also I think it is not very efficient so it may slow down on heavy models.
Source