Hi,
As far as I know, it has always been like that.
The quantity of the variant is what is taken into account by the system, if provided. The quantity of the main product is only taken into account if the quantity of the variant is unlimited. In that case, the system considers that it's the main product quantity which should be taken into account.
In the past when overall quantity on a product reaches zero, sales close, and variants do not override overall quantity.
I don't think this was ever the case. This would only be the case if the quantity of the variants is unlimited.
So if you want the main quantity to be taken into account for all the variants, then you need to set the quantity of all the variants to "unlimited".
As far as I understand, you were just lucky this never happened so far.
To make the system work like you want, it would require the development of a plugin implementing the onAfterProductQuantityCheck event to add a check on the main product quantity.