I think it was done this way to reduce API calls to Shopify. Clearly, it’s nothing that can’t be fixed. I believe that sooner or later they will do what you say.
Or amid the many competing things to do, MW hasn’t had a chance to get to this kind of details yet
There should be ways to mitigate the API calls. One way would be to have the text box diplaying a default value of $40.00 or whatever currency the full card value is in. Then update only when the value has changed which occurs when the gift card code has been applied to a purchase. The update of the balance and the gray out or color change happen in the same event. Or if Shopify has conditional logic built in, that can be looked into as well.