Fix polymorphic eager load with foreign_key as String.

The foreign_key could be `String` and just doing `owners_map[owner_key]`
could return `nil`. If it happens, the foreign key can be a `String`,
this way the `owners_map[owner_key.to_s]` will return the owner from the `Hash`.

@seanlinsley Thanks for the test case.

cc @jeremy 

Fixes #14734.