Hi Nik,
The answer to the question is very simple, the fix maybe not so much.
Q: Does anybody know why we don't rank well without the city added to the keyword?
A: Google returns what they fill is the most relevant results for any search. In such case using the keyword in the city of Perth for example, the site is not the most relevant.
Okay maybe that is a bit crass, but what is actually going on may help take the sting out of it. Understand Google's goal is to give searchers the very best result for any search term. To do this they have to understand not only what each search term means but also try and interpret the searchers intent. So in your example when a person in Perth searches for Outdoor Mirrors Google may choose to show local results, national results, images, or combinations thereof.
It's quite clear there are differences in what type of results you'll see, for example in the US (Dayton, Ohio) Google thinks I want to view images of mirrors (2nd result images), followed by Pinrest results rank 3, and 4. The number 1 result is shows me outdoor wall art, but offers no outdoor mirrors whatsoever. Further research shows that term "outdoor mirror" has a bit of a negative connotation here as I'm seeing results about dead birds and other wildlife.
Culturally Australia maybe a bit different which Google may interpret the intent of the term "Outdoor Mirrors" as being somebody wanting to buy them locally. In which case they would show localized results.
I hope that helps you understand what is going on there...
So onto the fix.. how do you get your site to rank in these cities? First, you need to understand what Google thinks people want to see when they type in the keyword in those areas. Analyze the results, are they showing local retailers, local showrooms, just images? Once you understand what Google thinks people are looking for with that term, you can then develop content to become more relevant then the competition.
For example, if they are showing local retailers. You could write content that highlights delivery cost, time in transit, and local area installations for each city.
I hope this helps,
Don