The images generated by this plugin should be the same intermediate size as images generated by core. Are you seeing images not blurry when the plugin isn’t active but seeing them blurry when the plugin is active? If you could provide the HTML markup with and without the plugin active so we can see if there is a difference?
When the plugin is active, I see:
<figure class="wp-block-image size-large">
<img
decoding="async"
width="683"
height="1024"
src="http://localhost:8000/wp-content/uploads/2025/09/image_32-683x1024-jpg.webp"
alt=""
class="wp-image-619"
srcset="
http://localhost:8000/wp-content/uploads/2025/09/image_32-683x1024-jpg.webp 683w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-200x300-jpg.webp 200w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-768x1152-jpg.webp 768w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-1024x1536-jpg.webp 1024w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-1365x2048-jpg.webp 1365w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-scaled-jpg.webp 1707w
"
sizes="(max-width: 683px) 100vw, 683px"
/>
</figure>
When the plugin is inactive:
<figure class="wp-block-image size-large">
<img
decoding="async"
width="683"
height="1024"
src="http://localhost:8000/wp-content/uploads/2025/09/image_32-683x1024.jpg"
alt=""
class="wp-image-619"
srcset="
http://localhost:8000/wp-content/uploads/2025/09/image_32-683x1024.jpg 683w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-200x300.jpg 200w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-768x1152.jpg 768w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-1024x1536.jpg 1024w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-1365x2048.jpg 1365w,
http://localhost:8000/wp-content/uploads/2025/09/image_32-scaled.jpg 1707w
"
sizes="(max-width: 683px) 100vw, 683px"
/>
</figure>
So you can see the image sizes are identical.
Images are the same size. Problem is in srcset generated. As I explained, if content size is 1216px and image served will be 1536px, the image will be blurry in the browser, because of browser resizing algorithm. And that is a good thing actually, because if sharp edges would be retained, they would like choppy. This is something desired outcome, if you want to maximally optimize site assets. However, often this is not desirable, because you need sharp image, and that can only be achieved if image is twice the size of required dimensions or larger. What I propose is an option to choose how srcset is created, where you could choose how much larger next bigger offered image would be.
Got it. However, this would be out of scope for the Modern Image Formats plugin. As I understand, you should be able to achieve the desired effect if you register additional intermediate image sizes via add_image_size().