Why are straight in approaches dangerous at uncontrolled airfields?
They're not, inherently. Everyone doing their own thing instead of following convention might be, though!
The CAA safety sense leaflet on "strip flying" feels relevant to your question, and has this to say (Emphasis theirs!):
If cloud base and airspace
permit, an ‘overhead join’
will allow you to observe
the windsock and any
obstructions on the strip.
Be alert for wildlife or livestock.
Keep circuits compact and avoid
overflying any noise sensitive
areas.
Even if the strip seems quiet,
be alert for other aircraft. It
is not unknown for passing
aircraft to use strips for practice
forced landings or even conduct
ad hoc ‘beat-ups’.
If you're joining on a 4+ mile final, spotting a couple of sheep or pedestrians/dogwalkers is difficult.
The main reason usually cited is spotting the windsock, but if you're 100% sure of the wind direction at ground level, this seems less of an issue.
The Skyway code also has this to say:
The ‘overhead’ join is the recommended
joining procedure for uncontrolled aerodromes.
It allows you to observe traffic in the circuit
prior to entry.
While I don't disagree that you might have better visibility coming in long final, if everyone follows the same procedure, then everyone else knows what to expect.