I just have one remaining issue involving use of transitive resources. I believe I have a solution. I'll test this out today and then update this ticket with the results.
Android build is definitely different in how it packages files from the libs directory and how it packages remote dependencies. Generally this difference is OK if we are only using classes and not resources from the libraries. Resources seem to be non-transitive, meaning these resource aren't accessible if more than one hop away.
Given that we use resources from tor-android-service -> orbot -> firefox, then firefox (two hops) complains about missing resources, while Orbot (one hop) is fine. If we attempt to directly include tor-android-service in the firefox project, proguard fails because orbot has already included tor-android-services in its own class.jar file (duplicate classes problem).
To solve this problem, orbot project will manually remove tor-android-service classes from its library before packaging and then we can safely included tor-android-service in the firefox project. This solves the missing resources and the duplicate file problem.