Why do carburetors tend to produce richer mixture at higher altitude? The pressure drop in the venturi is proportional to air density and the fuel is at ambient pressure in the float chamber, so I would expect the fuel flow to reduce proportionally with density, and that response to preserve the fuel-air ratio over changing altitude.

But in practice that does not seem to be the case. Proper response to altitude requires additional modification that most carburetors don't have, so the pilot usually has to lean out the engine as they climb. What am I missing here?

(Update) More specifically, I would expect that at the same RPM, the volume flow rate will be the same—because the engine pulls in its displacement per revolution. Now velocity in the venturi $v$ is just

$$ v = \frac{\dot V}{A} $$

Where $\dot V$ is the volume flow rate and $A$ is the cross-section of the venturi. So it will also be the same independent of altitude. Since dynamic pressure

$$ p_d = \frac 1 2 \rho v^2 $$

And that is also the pressure that pulls in the fuel (when the float chamber is open to ambient pressure). Substituting mass flow

$$ \dot m = \rho v $$
$$ p_d = \dot m \frac 1 2 v $$

and as long as $v$ is mostly constant,

$$ p_d \sim \dot m $$

This still leaves open the dependence of fuel flow on $p_d$. If the relation is reasonably close to linear, it should mean the venturi mixes properly by mass. I can see a reason why higher pressure should cause less than linear increase in fuel flow, but not much why it should cause more than linear increase in fuel flow—but that is what the actual behaviour would need.

Note: Did you notice the extra $v$ conspicuously missing from the last equation? That suggests the mixture should become richer with throttle opening—which is actually the reason there are extra fuel jets after the throttle that pull in extra fuel when the throttle is at idle and slightly above. It might also explan what is going on here, but would require explaining why the speed should increase when the density is lower.
The simple reason is that high altitude changes the density of air, but not the density of fuel. 

Most simple carburetors use a simple venturi design that mixes air and fuel by VOLUME.

But, the correct air/fuel mixture must be based on MASS, not Volume. 

If the air/fuel Volume is correct at sea level, it will be too rich at altitude. This is because a given volume of air will have less Mass at high altitude, while a given volume of fuel will have the same Mass at high altitude. 

Aircraft carburetors have a mixture control to "lean" the volume of fuel to the volume of air, and are then able to maintain the correct air/fuel ratio at all altitudes.