👉 Try creating NOVs, put option variables there, one by one, and check ajax request-response on the front-end. Also test your NOVs this way.
👉 Another way of debugging is this one: drag and drop a new option of the same type that you are going test. For instance, if it is Text input, then create a new Text Input. Then open its settings and choose 'duplicate', then choose targeted option in the dropdown and click 'submit'. This action fetches current settings for the targeted option from DB, so you can compare what actually is in DB with what you think there is (based on what you see in the current product). For instance, your Select option can have suboptions 'green' and 'yellow' in the current instance, but in reality it is already overwritten from another product and has suboptions 'red' and 'white'. And this is why your price calculation fails - the data is different!