You are correct. They don't really adjust for density, they just maintain a set afr via a programmed map that learns.
This is not correct. There are three basic EFI fueling strategies: mass air, speed density, alpha-n. All of them try to identify the mass of air entering the engine and then look at AFR target maps to compute fuel.
Mass air quite literally measures the mass of air coming into the engine and fuels based on that. Most if not all modern OEM EFI use this strategy. Some of the aftermarket (MS3 pro) can use this as well.
Speed density takes engine speed and volume (the speed), and calculates air density based on cylinder and intake temperature and manifold pressure to figure out the mass of air entering the engine using the ideal gas law. This is what all of the TBI systems I've seen use.
Alpha-n takes the TPS position (alpha) and RPM (n) and uses a pure lookup table to compute required fuel. Generally race car stuff here. Pretty much awful on the street. Good for WOT though. This is pretty much a computer controlled version of the old mechanical Hillborn or Bosch CIS injection and modern aircraft piston fuel injection.
The general fueling equation for all of these looks something like: fuel mass = computed air mass * 14.7 * correction factors.
Correction factors being o2 sensor, target afr adjustment table, required fuel table, accel enrich, decel cutout, etc depending on what sensors are available and how the ECU is programmed.
The megasquirt manual has the exact equations and strategies it uses if you're interested: How MegaSquirt(R) EFI Controllers Work
. Most of the other aftermarket ECUs I've worked with have similar strategies.