購入時価格を参照するってことは内部的にはいったん返金処理して旧プランを清算したうえで
清算金を新プラン加入の金額から差し引くってことをやってるんだろうけど
それなら加入する新プランの期間は旧プランの残余期間に合わせる必要がないんだよな
旧プランの残余期間が大きすぎて清算金の金額が1年分の新プランの加入金額を超えてしまう場合は「値引き金額の上限は新プランの購入価格」ってことにして上位プランに2年以上入るように仕向ければいい

実際任天堂はswitchオンラインを追加パックプランに変更するときは新規に追加パックプランに加入する形にした上で旧プランの残余期間を日割り計算で清算し、清算金分を追加パックの購入価格から値引きする形にしてる