I think I can see the original issue here. When the HibernateBundleActivator was being used as the service it had the following service property (from commit 5f38be465930d80710a5558a9579e3e973098eca):

    properties.put( "javax.persistence.provider", HibernateBundleActivator.class.getName() );

Now we have the property:

    properties.put( "javax.persistence.provider", HibernatePersistence.class.getName() );

It's not necessary for the PersistenceProvider service implementation to match the name supplied in the "javax.persistence.provider" property. Using HibernatePersistence.class.getName() fixes that bug.