Give these a try:
at_status: INDEX(entity_id, value_id, value, attribute_id, store_id)
at_status_default: INDEX(entity_id, value, attribute_id, store_id)
at_visibility: INDEX(entity_id, value_id, value, attribute_id, store_id)
at_visibility_default: INDEX(entity_id, value, attribute_id, store_id)
e: INDEX(created_at, entity_id)
product_website: INDEX(product_id, website_id)
When adding a composite index, DROP index(es) with the same leading columns.
That is, when you have both INDEX(a) and INDEX(a,b), toss the former.
That looks like an EAV schema; such is notoriously difficult to optimize, even when the Optimizer is picking a less-optimal path.