I'm not talking about the major system components but smaller things, e.g using lsd vs exa.
I think right now the way to do this would be to install lsd, maybe uninstall exa and manually change the shell aliases.
From what I saw the default config uses exa and has aliase etc for it. Perhaps this could be split up so that those aliases are in additional config files sourced on shell startup and thus it'd be easier to switch this and other similar utils?
All you have to do is open ~/.config/fish/config.fish and change the aliases to suit your preference. It doesn't seem like it could be much easier or more simple.
You can source an additional config in your Fish config as you mentioned (source ~/.config/fish/my_cool_config.fish), but for the sake of changing a couple of aliases because you want to use lsd instead of exa it seems more complicated.
This may be the problematic part, as some of the default packages are pulled in as dependencies of the distro packages. It may be easier to leave them there and just use the others.
Also, being installed by default, they may be expected to be there by some scripts.
On a side note, I had a little headache trying out the other tldr cheatsheet readers, because tealdeer is default and removing it would break some garuda package, but the others all conflict with it one way or another. I chose to break the package dependency and ended up with a bunch of other packages being reported as orphans when they shouldn't. Or at least I think that is the reason.
It's likely a corner case and a bad choice of mine, but beware.
About splitting the config files, conceptually makes perfect sense but some would be just a couple of lines, at that point I think it's easier to deal with a single file and see them all in one place.