Pricing issues are complex and by not being a registrar yourself and just a consumer of some registrar API you are not directly inside all the details on what happens between the registry and the registrar. So the first question would be: are you sure that the price differences you see are really coming from the registry and not from the registrar you use? Note that ICANN contracts have more rules on pricing for registries than for registrars.
Because I am not 100% sure, but I am right now doubtful that a registry can change a domain category (premium or not) when it is registered, for this simple technical reason: in gTLDs, names are auto-renewed, if the registrar does nothing (does not send an EPP domain:delete
command) then the name is renewed by the registry forever, and of course billed. However there is a specific protection, through a specific EPP extension called the "fee extension", to make sure a registrar and a registry agree on the price of an operation (typically a registration, but could be as well a renewal or a transfer) before making it. If the renewal is explicit by the registrar, then the registry could refuse it until the registrar provides in its payload the specific data that shows it acknowledges the specific price. But during auto-renewal, by definition, there is no command send by registrar hence no way for it to know the price of the operation.
Otherwise, the contractual rules you are seeking about are §2.10 (b) of ICANN-Registry contract at https://newgtlds.icann.org/sites/default/files/agreements/agreement-approved-31jul17-en.pdf which states:
With respect to renewal of domain name registrations, Registry
Operator shall provide each ICANN accredited registrar that has
executed the Registry-Registrar Agreement for the TLD advance written
notice of any price increase (including as a result ofthe elimination
of any refunds, rebates, discounts, product tying, Qualified Marketing
Programs or other programs which had the effect of reducing the price
charged to registrars) of no less than one hundred eighty (180)
calendar days.
and (c):
In addition, Registry Operator must have uniform pricing for renewals
of domain name registrations (“Renewal Pricing”). For the purposes of
determining Renewal Pricing, the price for each domain registration
renewal must be identical to the price of all other domain name
registration renewals in place at the time of such renewal, and such
price must take into account universal application of any refunds,
rebates, discounts, product tying or other programs in place at the
time of renewal. The foregoing requirements of this Section 2.10(c)
shall not apply for (i) purposes of determining Renewal Pricing if the
registrar has provided Registry Operator with documentation that
demonstrates that the applicable registrant expressly agreed in its
registration agreement with registrar to higher Renewal Pricing at the
time of the initial registration of the domain name following clear
and conspicuous disclosure of such Renewal Pricing to such registrant,
[..]
The parties acknowledge that the purpose of this Section 2.10(c) is to
prohibit abusive and/or discriminatory Renewal Pricing practices
imposed by Registry Operator without the written consent of the
applicable registrant at the time of the initial registration of the
domain and this Section 2.10(c) will be interpreted broadly to
prohibit such practices.
The emphasis is mine on the last paragraph, because my understanding (but do not take my word for granted) of this paragraph is clearly to forbid changing the price of an existing domain after its registration, if not agreed upon at the beginning (except if the registry change the base prices of all its domains, this is another case).
Note that ICANN FAQ at https://www.icann.org/resources/pages/domain-name-renewal-expiration-faqs-2018-12-07-en has a question exactly like yours but the answer lacks details (except pointing out, again, that you might have to look more at the registrar than the registry):
Why is my domain name's renewal price so much more than the initial
registration fee?
It is up to your registrar to set their own prices, terms and
conditions. It is advisable to review your prospective registrar's
prices, terms and conditions for renewals before registering your
domain name. A common practice with many goods and services, including
domain name registrations, is to offer promotions for new customers,
which is why your initial registration fee may be less than the cost
to renew after your initial registration period.