You can determine if a triangle is behind another triangle. However, that's not the operation you would need to do if you wanted to do culling at the triangle level. You would have to determine if the triangle is behind a forest of triangles: you have to determine if the triangle is behind any one triangle in the scene.
Triangle to triangle culling is expensive. Fragment by fragment culling is much much cheaper. Eventually the number of triangles will start to add up and fragment culling will be far cheaper.
This will also happen sooner than you think because we can't just test individual triangles. We have to test them together. If you have a triangle that's behind a quad (two triangles), it may be that your triangle being tested isn't occluded by either of the triangles that make up the quad on their own. This means now you need complex geometry tests to see if a triangle is covered in this way.
In the end, testing the triangle will be substantially more expensive than just doing the fragment tests.