While changing a subscription in Chargebee, a subscription in "Active" status cannot be moved to "Trial" status unless it's being reactivated after cancellation. Since the subscription is already ‘Active’ in the Free Plan, it does not go to "trial" state even though you're changing it to a plan having a trial period associated with it.
To work around this scenario, you could set up your free plan with an unlimited* number of trial period days and set the plan price as $0. This way when the customer initially subscribes, the subscription will be in trial state for an unlimited* period of time and when you change the customer's subscription to a different plan with a trial period associated, you could choose/pass the new "trial_end" date.
A couple of important points to note:
*Unlimited trial days in Chargebee - This can be set to a maximum of 180 months in Chargebee.
When you are changing the subscription of a customer from the unlimited trial period plan to a paid plan with a limited trial duration, defining a new trial end date is very important. This is because if the customer has already used up the trial days equal to the trial days provided in the paid plan, the subscription will go to "Active" status. So, you need to re-assign a trial period when changing the subscription to the paid plan using the trial_end parameter.