Necessity of mirroring git repos for small team considering switching to Azure
As you have realised Git is decentralised by design.

Using LAN repos

If Azure DevOps goes down, or your office internet connection, you can still use LAN repos. These could be simple file shares. You can also use emails to share commits; nothing I've tried but Git has native support for it). I have however pushed and pulled commits directly from and to my colleagues computers using file shares (because our online Git provider back then was extremely bad and slow (and the repos were many GB).

If you don't have automatic sync (which you can setup using pipelines/CI) between Azure DevOps and GitLab then the most up-to-date repos will reside on the developers computers which makes it easy to push the repo to a new location when needed (simply add the new remote and click push). However, if some repo hasn't been used in a long time it'll probably not exist on any developers computer and you'll therefor not be able to access it.

If you want to be disaster-ready I'd suggest hosting an Azure DevOps Server instance on your LAN that's synced with the cloud. Azure DevOps Server is capable of processing the very same yaml pipelines as the online version. You'd be protected against much more than just Azure DevOps Services outages.

The maintenance costs of having Azure DevOps Server as a backup for a small team shouldn't be much different than having GitLab as backup.

I'm not recommending these solutions, rather I'm just discussing them.

You might want to have a look at the Azure DevOps Proxy Server.