The downsides is when you need to do something cross-functional it requires a different approach. What I have seen work is that you spin up a temporary team to own the delivery of the cross-functional project then have VP/CTO give all teams priority about helping the cross-functional team, e.g. the x-func team will say “I need support from finance and marketing” and those teams would agree to help out via 1 dev for 2 quarters (or whatever).
It requires a lot of clarity from management and agency from the cross-functional team.
We used this at my last company. We backported decisions into them as documentation. People sometimes referred to them, but not often. It was hard to take what was a huge list of docs, some of which had been obviated by others, and truly grok them all. But I don’t have a better idea for how to solve the problem. I would say it worked OK, but not great.