This comes up every time a provider drops a feature and the answers are always about the feature rather than about what it was standing in for, so let me do it the other way round.
What the forwarded port was actually doing
It gave you a stable, publicly reachable endpoint whose address did not belong to you. Two properties in one, and they are separable. The reachability you can rebuild anywhere. The not-belonging-to-you part is the one worth paying for, and it is the part that a consumer VPN was never a good vehicle for, because the endpoint was shared with a few hundred strangers whose behaviour you do not control.
Three replacements, roughly in order of effort
Reverse tunnel to a cheap box. Rent something small, give it the public IP, and have the machine behind the tunnel dial out and hold the connection open. Nothing inbound ever hits the machine you care about. This is the correct answer for the majority of cases and it costs a few euro a month. The trade is that the box now exists, is registered to something, and is paid for by somebody.
A provider that still forwards. IVPN kept port forwarding and multi-hop, which is exactly why the power-user crowd has been drifting there. Same anonymous account ID model, crypto only, Gibraltar rather than Sweden. Worth noting the price is quoted against a three year commitment, which is a strange thing to sign up for with a service you chose specifically so you could walk away from it.
Stop needing inbound. Polling is unfashionable and it works. If the thing behind the tunnel can check a queue every thirty seconds instead of being called, the entire problem disappears. I have replaced two of these in the last year and neither one noticed the latency.
The option I keep seeing suggested that I would not take
Moving to a big-brand provider because it has a free tier. Proton is competently run and Switzerland is a fine jurisdiction, but signup wants an email and once there is an email in the account there is a thing to subpoena that did not previously exist. If your reason for using an account-number provider was the absence of that field, do not trade it away for a feature.
Where I am uncertain
I have not tried to run a high-connection-count service over a reverse tunnel — my own is a handful of long-lived connections and it is boring. Somebody with real concurrency should say whether that falls over.
Summary: the port is not the thing you lost, the free public endpoint is, and you rebuild it on a box or you design around needing one.