Data residency is usually sold as a tax. Keep everything in Europe, accept that it is slower and clunkier, and call it the price of compliance. That trade is mostly a myth now, and where it is real, it is a design problem, not a law of nature.
The starting point is simple. Your data stays where you want it. EU hosting, or your own infrastructure, with nothing leaving your perimeter unless you decide it should. Every model call and every data access is scoped, logged, and revocable. That is the floor, not a feature.
Speed is where teams assume they have to give something up. In practice you rarely do. Most of the work in a real system is not the model call. It is the reading, sorting, matching, and routing around it, and all of that runs close to your data at full speed. The heavy model runs only when it has to, on the small slice that needs it.
Where a request does leave your perimeter, you should know. If a free text question reaches a model hosted outside the EU, that is a transfer, and it belongs in your privacy notice in plain language, not buried. Sovereignty is not a slogan. It is knowing exactly where each piece of your data goes and being able to prove it.
You do not have to choose between fast and sovereign. You have to design for both from the start.