Yes, it is possible to run feature gates within existing experiments. You can add new features to a variant by creating a feature gate that only passes for users who are in that variant. However, it's important to note that adding new features to a variant while an experiment is running could potentially impact the interpretation of the experiment results. Therefore, it's generally recommended to plan your experiment design carefully before starting the experiment to avoid making changes midway.
If you need to run multiple experiments or add new features, you might want to consider using layers. Layers are a powerful way to run many experiments in sequence, one building on top of the learning from the other. This could be a solution for running multiple experiments on the same users without having to change code.
Remember, once you start an experiment, it will run in all environments unless you set a targeting gate to restrict it to specific environments.
If you want to change the behavior of a variant, the recommended approach is to start a new experiment that is a vs. the new variant with the new feature being part of the new variant.