The solution is to remove the image-size multiplier of 0.8, so it’s at 1. I haven’t the slightest clue how a 0.8 modifier tells the store to load a 100x100px photo as opposed to the high-quality, uploaded photo - but it works.
Original:
{% if collection.products.size > 0 %}
{% for product in collection.products %}
{% include 'product-grid-item', product: product, imageSize: imageSize*0.8 %}
{% endfor %}
Solution:
{% if collection.products.size > 0 %}
{% for product in collection.products %}
{% include 'product-grid-item', product: product, imageSize: imageSize %}
{% endfor %}