As for your local PPC question I would say the answer is both. *My disclaimer here is that we are not in the same vertical and our customers actually have to go to the store at the end of the day, so what works for me might not work for you. But in my experience:
It sounds like your could be showing up for people who are just interested in learning web design who live in Surrey and you could be missing out on impressions from people who live near by (but outside of your targeted area) and are interested in finding web design services based in Surrey.
With our local campaigns we see customers searching for all kinds of keywords so we target both general keywords within our location and geotargeted keywords. Keywords that have a geomodifier tend to convert better, but general keywords have so much more volume that they get more conversions while the conversion rate is much lower.
I'd test it and see what you find. I always try to start small and scale up rather then throw out a bunch of broad match and scale down later. So if I were in your shoes I would test a larger target location with more long tail geomodified keywords while maintaining the local campaigns for modified broad (always +modified +broad, not broad, assuming you're using AdWords) generic keywords and keep checking the data to see what you find. The search terms report could be your best friend for a while.
As for display: we (again this a local based brick and mortar business, so it could be different than yours I don't know) saw very low conversions using the display network in our vertical and decided to end advertising on the display network. However we have awesome cost per conversion numbers using the display network for remarketing to non-converters on our site, so that we use a lot.
Hope that helps!