On thinking about this point again, it is not clear to me why that would matter for this particular use case? Basically, when you create a new subscription, it should copy the entire existing data from the table directly and then will decode changes from WAL. So, I think in your case all the changes between pg_upgrade and now should be directly copied from tables, so probably older WAL won't be required.
Maybe you did not understand
Production server cannot stop while I upgrade my subscriber server, so it will be creating WAL continuously.
Subscriber server has trigger functions for auditing on all tables, something like ...