I wonder if there is a way to save all my pipeline definitions in another git repository outside Azure.
I can see that every change in the pipeline is being versioned, and it gives me the option to compare and revert. However, where is it being saved? Can I set up a git repo outside of Azure to control it?
I would honestly migrate YAML pipelines for that, they are exactly meant to keep, track and control changes by using Git Source Control. You could probably automate the JSON file extract/import using ADO Rest API in pipelines, but there is no way to control how changes will be applied. It would be overengineering too much. Azure Pipelines YAML have been designed for it.