This is possible because the user roles defined on a Microflow are only used to determine the users that are allowed to trigger that microflow. If the microflow is used as a sub microflow (or triggered from a Java action like in case of a deeplink), the user roles are not taken into account.
You could try and see if it helps if you enable "Apply entity access” on the microflows that are triggered as a deeplink.