WGS-84 is unprojected data. It uses a geodetic coordinate system, which means points are located on a spherical (ellipsoidal to be exact) modelisation of the earth.
As a consequence, euclidian geometry is not valid for this kind of data.
PostGIS «geometry» data type and associated functions work with planar coordinates and euclidian geometry computations. If you want to use them you have to project your data to a specific coordinate system, which by definition are only locally accurate.
Non-planar Geometry computation will always be way slower than planar geometry computation. See the difference between distance computation on a plane and the Harversine formulae on a sphere as an example :
That said, recent version of PostGIS have a «geography» data type and some associated functions for those who must use unprojected geodata.
How do you choose between the two ?
If you just store and retrieve your data from the database, using latlon (geography or wgs84 srid) will be fine.
If you have a dataset with a worldwide repartition, you may be interested in using the geography type to be able to deal with all your data in the same manner, without having to deal with multiple projections. Computations will be slower though, and the functions set in postgis is narrower.
If you do processing on your data, need to be fast and want to use PostGIS pletoric set of functions, you have to project your data, and do dynamic coordinate transformation on input/output with st_transform, just as you do.
So yes, you're right, but still the real right decision depends on the specific use case.