It's hard for me to fully understand it, to be honest. But if I comment out the force-starts, the service isn't available when using tycho.  

Declaring the plugins as a dependency for the test plugin only ensure hte plugin is 'around', but it doesn't ensure hte bundle is 'started'.  Now, WHY the bundle needs to be 'started' for the service to be available? I have no idea at all. Really. None.  It seems wrong. It seems the service should be available just by the bundle being present. But it's not. 

It all seems to work 100% fine inside eclipse, but not via tycho. 

So, short answer:  I don't know.  But we do need to call force start.  The services are not found if we don't call forceStart()