I think your understanding is sufficient.
To answer your second question....`` can also imply willingness to avoid. So for example, ``
Literally it translates to:
> Goblin, not disliking the darkness, kept going.
Maybe it actually likes it dark, or maybe it was just brave for the moment.
Nevetheless, It had no willingness to avoid the darkness at all. Similarly, `` also implies that he avoids kind girls for whatever the reasons. Maybe because that's actually his type and he gets nervous?
Who knows whether he actually dislikes them or not, but his unwillingness is known.
On the other hand, `` is much more definitive in expressing a displeasing feeling toward kind girls, instead of just aversion.That is the difference.
So for the difference between `` and ``, the former() expresses a willingness to avoid. Whether he actually dislikes reading or avoid it for other reasons is unclear. In contrast, the latter() is clearly stating that he doesn't like to read.