get_fs doesn't pass a trie to the fs:
https://github.com/iterative/scmrepo/blob/28973b17f747d90cc0a132dff485244191dfe29b/scmrepo/git/__init__.py#L300
which results in it always defaulting to pygit2
https://github.com/iterative/scmrepo/blob/28973b17f747d90cc0a132dff485244191dfe29b/scmrepo/fs.py#L175
which is against the general scmrepo behavior, where it should go through the backends.
Also GitFileSystem defaulting to pygit2 by itself is also pretty odd by itself.