Note that terrains also use TINs. There could be several variables that are causing the differences that you are seeing including the terrain pyramid level or interpolation method you are using when going terrain to raster.
There are no major flaws in a normal TIN or a Terrain so you should probably evaluate the two final datasets instead of the tools or methods. You might want to get benchmarks and find out which dataset has the higher absolute accuracy and then make up your mind. You could compare the datasets at difference steps in your process to find out when the differences are introduced. Finally, you might also do some sample volume calculations to see if the differences are acceptable for your application.
And yes we have had luck relying on terrain, but in the workflow you described there are several processing steps with several variables so you never know when error might get introduced.