I was able to get this to work (in 2.18.3), although I confess it took me a couple of tries ;-)
You've checked the CRSes so it's not that - if the CRSes didn't match you'd usually get a warning anyway.
You need to make sure you put the layers the right way round. This first is the layer you want the selection to come from (buffered circles layer) and the second is the layer you want to use as the mask.
Second, you need to use within, not contains, like so
this makes sense, you want the buffered circles within your polygons, not the buffered circles containing your polygons (which won't happen in your case, as the polygons are much bigger than the circles). My first attempt was to use 'contains', which gave me the empty selection you saw.