LPS-12945 was recently resolved. It makes sure that changes to cached data get rolled back when a database transaction is rolled back.
com.liferay.portal.spring.transaction.TransactionInterceptor was altered to ensure this behaviour
However when you use servicebuilder from the sdk, a file called dynamic-data-source-spring.xml is created and referenced in service.properties, that overrides the portal's TransactionInterceptor with an instance of DynamicDataSourceTransactionInterceptor.
DynamicDataSourceTransactionInterceptor should be altered to incorportate the same changes that where made to TransactionInterceptor