Why do directories outrank your own website?
Because they built a page for every service in every neighbourhood, and you have one page called 'Services'. That's the whole trick.
They aren't better at the trade — they're better at having a page that matches what was typed. A directory with ten thousand pages will match 'furnace repair Auburn Bay' because one of those pages is literally about furnace repair in Auburn Bay.
The fix is the same tactic used honestly: real pages for the services you actually offer, in the areas you actually cover. You don't need ten thousand. You need twenty that are true.