Again, you have a law of congress controlling the meaning of a constitutional term. You are just trying to finesse the point.
*I* cannot be compelled to fight for Canada. Cruz CAN be compelled to fight for Canada. Can YOU be compelled to fight for Canada? Now do you understand the distinction?
Any person regardless of nationality can be compelled by the nation state in which they are physically located to serve in that nations armed forces. This is because that person is within their dominion. While uncommon, unwise and rarely done, it has been done by nation states. This is because the nation state can force the individual to serve or suffer punishment.
If Mr Cruz were to be “compelled” by Canada and is not within their dominion, he can renounce his citizenship and then Canada would no longer be able to force his service as they would not be able to enforce their laws.
Again, US law governs US citizenship. Looking at any other nations laws is speculation of a hypothetical.
If you reside in Canada, thereby subjecting yourself to Canadian laws, you can if Canadian law says so. Look into the history of the Vietnam-era draft, when non-US citizens could be and were drafted. Even today, immigrants are required to register for the draft. See Registration Information from the Selective Service System itself.
You make two assumptions: First, that non-citizens cannot be drafted as a general rule, which is false. Second, that Canadian law should determine US citizenship status, which is absurd.