Two things come to mind: Coriolis Force and proximity to shore.
I got out my copy of Stuart Walker's "The Sailor's Wind" (1998) which says the following regarding the Freo Doctor:
Offshore at Fremantle the initial direction (between 1300 & 1600) of a typical sea breeze is 230deg. Its initial speed may be from 3 to 12 knots. It gradually strengthens until by evening it has reached its peak velocity, which varies between 12 and 28 knots. As it increases in velocity, it backs (due to the Coriolis Force) from approx. 230deg to 200deg to 180deg or even 170deg and flows parallel to the coast.A wind blowing oblique to a shoreline will tend to blow more perpendicular as it hits the shore. Thus a SSW 200m offshore will veer to SW near the shore (where the wind is measured).
Regarding the location of highs, Walker says:
Centres of high pressure pass to the south of Fremantle in summer...I don't think they ever passed north of Perth (32deg lat) in the past, as they are caused by the global pressure belt phenomemon, see
en.wikipedia.org/wiki/Horse_latitudes