However, if I land at airfield B (100 ft MSL but hotter than airfield A), my altimeter will read higher than 100ft because the air pressure is lower in hotter air (density altitude increases with higher temp).
That is the bit you are getting wrong Speedbird. An altimeter does not measure density altitude, it measures pressure. Pressure at a given altitude will be higher at a hotter temperature, not lower as you suggest.
If you hadn't changed your altimeter setting from airfield A your altimeter would show less than 100' on the ground at B. The difference however would be tiny with such a low airfield elevation, as the temperature correction is applied to the altitude. In fact your example (rather extreme) 25degC increase would equate to a correction around 10% of the altitude, and thus for your 100 foot AMSL airfield, the correction would only be around 10 feet meaning your altimeter would read 90' on the ground at B.