Hi,
your strong credentials and experience (non-tech experience may not be that valuable but i had none when i applied). will get you past screening, after that, your technical interviews will decide whether or not you receive an offer. These require strong algorithm and data structure knowledge, I would recommend this book:
https://www.amazon.co.uk/Cracking-Coding-Interview-Programming-Questions/dp/098478280X or websites such as Hackerrank to practice. You should be able to use data structures such as arrays, list, maps, trees sets, hashtables etc. and know typical algorithms like tree traversals, searching, sorting etc..
In all honesty, the teams in London aren't the most exciting (the most exciting teams are in Zurich, their biggest engineering office in EMEA). Most notable teams in London are Android, Chrome, Health/fit and a looooot of SREs. Android is quite a big team and are working on some exciting stuff, i don't know much about the others, SRE is huge and I will be working somewhere in SRE when I return in July. You won't get a choice of team per se, once you've passed your interviews, you will be in a pool of applicants visible to googlers with a possible intern project that they will arrange to speak with you to propose the project to you, and this could be from anyone in the office.
Permanent staff are a mix of people, from all around the world. A lot of interns are not from the UK, I see a lot from other European countries like Romania, Poland and Serbia. There are a handful of UK university students and they have been from Oxbridge, imperial, Warwick, St Andrews, King's to name a few.
The main (Engineering) office is 6 Pancras Square in King's Cross, the office in Victoria is mostly HR and Recruitment staff.
EDIT: I will also add to intern at Google you must be currently at University, and will return to University after you finish the internship.