I find it unintuitive that two seemingly similar functions subFlowMapping and channelMapping are very different. The difference is not mentioned in the Javadoc. Difference is described in release announcement.
The channelMapping() continues to work as in regular Router mapping, but the subFlowMapping() tied that subflow with main flow. In other words, any router’s subflow returns to the main flow after .route().