I understand what you mean, but that is one of the trade offs when using opinionated frameworks.
I've found that a more effective way to achieve the same results as microservices is to deploy the monolith to multiple servers and have each one acting in a specialized capacity.
This tends to make testing a lot more consistent and improves code reuse dramatically.
If you really want to make it modular you could always package the functionality you want to share into gems.