Fixes #15671 reflection strings now work as keys

This was fixed on master by #14675 but could not be backported because when the branch was made `_reflect_on_association` didn't exist so grabbing those changes would leave `_reflection_on_association` with the same issue.
 
This fixes #15671 - where string based keys don't work on nested associations.

Because this is adding in something on master into 4-1-stable I don't want to refactor in this branch. I definitely will look into refactoring master though.