This behavior is usually theme-related, not a Shopify limitation.
Why the price is not updating:
In many themes, the JavaScript that updates the variant price is tied to the variant image change event. When a variant has no image, that event never fires, so the price stays static even though the variant price is set correctly in the admin.
This is why it works on products where each variant has an image.
How to fix the price update issue:
Check whether your theme supports price updates independently of variant images.
Ensure the variant selector (dropdown or buttons) is properly connected to the theme’s variant-change script.
In some themes, this requires enabling dynamic pricing in theme settings.
If the option does not exist, the theme’s JavaScript needs to listen to the variant ID change itself, not the image change. This is a known limitation in some custom or older themes.
Regarding variant images and gallery loading speed:
By default, Shopify includes variant images in the main product gallery, which can impact load time when there are many variants.
Common approaches themes use to handle this are:
Assigning variant images but hiding non-selected variant images from the gallery until selected
Loading the selected variant image dynamically without rendering all images at once
Using lazy loading for variant images
Whether this is possible depends entirely on the theme. Some themes include this feature out of the box; others require theme-level customization.
Key takeaway:
Variant price not updating without images is almost always a theme JavaScript issue
Variant images affecting gallery performance is a theme optimization concern, not a product setup error
Checking your theme’s variant handling logic is the correct place to start.