Modern AI applications increasingly run on geographically distributed and heterogeneous infrastructures that combine high-performance computing (HPC) systems, cloud platforms, and resource-constrained edge devices. Research testbeds provide such infrastructure, but their heterogeneous provisioning mechanisms, networking models, and deployment workflows complicate the development and execution of a single application across several of them. This paper reports the experience of deploying the same Federated Learning (FL) application across four widely used testbeds: Grid'5000, Chameleon, SLICES, and FIT IoT-LAB. We follow a progressive methodology, from single-testbed to three-testbed deployments, and we integrate constrained IoT nodes through a proxy-based architecture that keeps local training on the device while moving the FL runtime to the gateway. From the lessons learned, we design and implement a lightweight middleware that exposes provider-independent resource discovery, requirement-based matching, and allocation through a unified REST API, and translates these operations into the native reservation mechanisms of each testbed. We validate the middleware through live allocations on three infrastructures and an end-to-end cross-testbed FL run, and extract a set of practical guidelines for cross-testbed FL deployment.