You think Epic is going from 1,000,000,000 to 20,000,000 triangles “primarily through culling?”
You think upwards of 98% of the geometry is obstructed, and can be removed?
I'm afraid, you seem to be mistaken about what culling is.
Culling is simply the process of removing vertices, triangles/primitives before the rasterization step (and even better before parameterization of those primitives - which is an optimization Primitive Shaders/Mesh Shaders hopes to achieve).
The fact that most culling is done based on the view frustum is a property of common culling methods, not a requirement of its definition.
Reducing the geometric complexity of a polygon mesh is by definition culling because you're removing those triangles/primitives.
There's even different types of culling, e.g. back-face culling, occlusion culling / Z-culling etc.. The methods nanite uses to reduce geometric complexity of the base high poly geometric meshes are just other types of culling.
The whole point of Nanite isn't to render 1b polygon mesh models within the game. That's impossible (on current-gen hardware at least) but to be able to render higher geometric complexity meshes through a combination of geometry processing in software (which side-steps the limitations of the fixed function hardware in the GPU front end), as well as automating the process of dynamically adjusting LODs; which eliminates the need for devs to have to manually author individual LOD level meshes for each asset,
significantly cutting down a big chunk of development time.
Nanite ends up letting you render more polys per scene, because you can setup and rasterize more polys, including micro-polygons (i.e. sub-pixel sized polys); which exhibit inherently low rendering efficiency when trying to render via the traditional GPU rendering pipeline. It also lets you use the base, uber high fidelity meshes artists already create for rendering directly, rather than having to spend time authoring content to produce LOD meshes for each model.