That's right.
The garage sensor is analysing the gas that's coming out of the end of the exhaust, where the engine is only analysing the oxygen content of the exhaust before it enters the cat to control the injection rates, and then the oxygen content of the exhaust after the cat to verify that the cat is actually doing it's job.
Sometimes, the engine will be fine but the car will fail on excess oxygen measured at the exhaust pipe end because the rear exhaust section has a hole in it and air is leaking in.
In general if the exhaust smells of unburnt fuel, there will be some sort of combustion issue, but a very rich mixture iwould normally burn with insufficient air and show as black, sooty or smutty exhaust.
I have an old Boxster and that started failing emissions test, but I recall that the exhaust used to STINK when it was first started up, and after replacing the cats with aftermarket ones, it could be seen that one of the original cats had lost most of it's internal mesh. No problems since with the very cheap replacement cats ... or the pattern cat on our Jazz for that matter.
Prior to the sensors heating up, the car will run a map based on air flow, water temperature, air temperature and engine rpm .... and when it's cold, you'll notice that the engine rpm will always drop in steps until it's fully warm.
If your pre cat sensor fails, the EML will come on to let you know and the car will keep running as it will using an approximate "fail safe" map to get you home, it might well fail the emissions test until the sensors is sorted out.