A quick gargle search finds a good feature on the system in a Clarks Garage posting. Follow this link
https://www.clarks-garage.com/shop-manual/ts-03.htm and you'll very quickly know a lot more about 944 vapor recovery systems than I do.
I'll share some somewhat generic learnings to the mix --
-- Your suggestion that the PO swapped injectors is not a bad place to start. Most troubleshooting is triggered by something that changed. This is a known and easily related change, so the effort might start at the injectors, and specifically at the fuel connections and o-rings.
---- Start with the basic fuel system leak-down test. Add a fuel pressure test gauge to the end cap of the fuel rail, and use a switched jumper in the fuel pump relay socket to pressurize the system and verify the system holds pressure correctly.
------ My handy-dandy fuel pressure test package now includes a spare rail cap, drilled and tapped for 1/4-20 to match a GM test port thread. Then a bargain-cheap Harbor Freight fuel pressure test kit that includes the GM port adapter hose. Instead of the ball, I put a 1/4" brass compression fitting sleeve inside that cap, so fuel from the rail can make it to the gauge, yet the sealing on the cap is maintained. You can probably free-rent a fuel pressure test kit from a better local parts store, and it's likely to have the GM port adapter.
After that, you might be searching to seepage around injector o-rings at the intake. My nose has been somewhat neutered from some early-employment episodes with perfume manufacturing, so I depend more on local 'touchy-feely sample-then-sniff' methods for isolating leaks. Table your first thoughts from that description, then consider: A tab of paper towel held against a suspected fuel leak might actually get wet from the fuel. Or it might absorb enough vapor for my nose to detect up close. Wear Nitrile Gloves for this; You really don't want to have fuel absorbed into skin. Sniff your test sample swabs progressively closer to your nose, for the same reason-- Both nasal and optical body parts are very HC absorbent and close enough to risk brain damage. I'm stumbling evidence of that risk, so trust me on this.
If the system fails the pressure and leak-down tests, you get to find out why and where the fuel is leaking. FPR's and dampers have internal diaphragms to get tired, and leak fuel through vacuum ports. As an easy example. Other connections, including any that were opened for the injector swap, are of course suspect. Also filter and pump connections that are opened as part of normal maintenance. I add a film of PTFE pipe thread sealant/lubricant to the ball-and-seat connections as well as to the threads where the nuts engage. Saves on leaks and fitting damage from misalignment and over-torqueing the pieces trying to stop a leak. Can't say enough for lubricating the injector o-rings top and bottom where they fit the rail and the manifold. Saves scuffing and o-ring distortion during assembly.
If the system passes the pressure and leak-down rate tests, move on to the vapor cannister and the related plumbing pieces. The vapor system is functionally extremely simple, with a hose functionally from tank vent to engine airbox, also connected to a port on the vapor cannister if the front wheelhouse. There are some interesting pieces in between, naturally.
-- At the tank filler, there's a sort of liquid trap intended to keep filler spillage or overfill liquid out of the vapor system. Design varies some between early and late cars but for our purposes the fumes diagnosis is the same -- sniff test supplemented by visual inspection for leaks.
-- There are hose connections from that section, connecting to steel lines under the car, forward to the engine bay right side. From there it's a hose to a T, one leg to the cannister, and the other to a vacuum-operated valve connected to the intake. I don't know if that T fitting is plastic in the 944; it's a plastic Y in my 928, and is a popular failure point that generates the fuel smell symptom you describe.
-- The system really depends on having the hydrocarbon vapors from the cannister get pulled into the warmed running engine. If that purge doesn't happen, the activated carbon/charcoal in the cannister will be overwhelmed by the HC load, and you'll start to get fumes from the cannister vent to atmosphere.
-- The vapor system is intended to work under slight pressure and vacuum, as the fuel temperature changes with engine off or cold. Fuel gets bigger or smaller with those changes, and the pieces need to contain the vapors while the engine is off regardless of those changes. Chasing leaks in the recovery system is easy if you have access to the smoke machine mentioned by
@cda951 above.
I've had some luck using a very small amount of air pressure to test for and sometimes find leaks in vapor recovery systems. In every case though, the leaks I eventually found were large and obvious to the eye and nose. The pressure needed is fractions of a PSI, like in the 6-11 inches-of-water-column range similar to what you might see in a domestic natural gas system. With that in mind, you can use a hardware-store gas pressure gauge to do a little leak-down testing. Use a rubber tire valve to pressurize with air with the gauge connected (hint- fits inside the 15mm vapor hose at the cannister...). The vapor hose in the system is unreinforced/unlined, so it's generally OK to pinch to isolate sections for testing.
Commercial 'smoke machines' use a heated element to oxidize common mineral or 'baby' oil for smoke, and a small fan or blower to push that smoke into and through the system under test. Were I thinking emergency DIY smoke machine, the electric ignitor from a home gas furnace and a surplus blow-drier for the fan/blower might step up for the duty. Do all this outside so the smoke and possible fire don't risk the car or your home. Or worse-- Do Not return your wife's favorite blow-drier after using it to blow smoke. No amount of further 'splainin' (read: smoke-blowing) will save you.