Regarding the unncessary mapping to DTOs: Consider using Data Access Objects or Repositories if you prefer Domain Driven Design to access the database. Thus you can have a kind of "utility layer" beneath your service layer working directly with mapped (entity) objects.
Regarding the kind of coupling: ServiceB
could implement more than one interface, especially one which is only visible on the server-side. ServiceA
could depend on that interface to access more internal parts of ServiceB
which are not suitable for publication to the client-side.