What exactly happens when you try to apply Cantor's diagonal argument to this model?
I guess that at some step, you get an answer like "outside of the model, yes this exists, but inside the model the answer is no", but I would like to see it precisely, how exactly the in-model reasoning diverges from the outside-model reasoning.
Inside the model, “the reals are uncountable” means you have two sets R and N, and there is no surjective function from N onto R. That function would be a set as well; a certain subset F of NxR, say. But even if we can externally enumerate R, there is no reason to expect that our external enumeration corresponds to a set F that exists in the model.
Consider that there are "real numbers" as in some kind of construct that we as humans are interested in understanding, and then there's ZFC-real numbers, which is an attempt to formalize "real numbers" rigorously. What we know is that we can never rigorously take "real numbers" and uniquely formalize them and so any formal investigation of "real numbers" will be prone to multiple interpretations.
Given this, consider all models M that contain some set R(M) that satisfies ZFC's definition of real numbers and where R(M) is actually countable. Furthermore M also contains some set N(M) that satisfies ZFC's definition of natural numbers.
Within this model M, since N(M) satisfies ZFC's definition of the naturals, it is ZFC-countable (that is it satisfies ZFC's definition of a countable set). Furthermore applying Cantor's diagonal argument to M, one can show that M does not contain a set that represents a surjection from N(M) to R(M), hence R(M) is ZFC-uncountable (it satisfies ZFC's definition of being uncountable).
That said, all this means is that ZFC-countable, and ZFC-uncountable do not fully capture what it actually means to be countable or uncountable. ZFC-countable means a set has the same cardinality as whatever set satisfies ZFC's definition of natural numbers, which is not the same as what we as humans consider to be actual natural numbers.
Similarly being ZFC-uncountable just means a set has a greater cardinality than the set that satisfies ZFC's definition of natural numbers, but that does not mean that such a set is actually uncountable.
There is no way to extend ZFC so that what we consider to be actually countable or uncountable has one single unique interpretation. If there were then we could claim that said unique interpretation captured precisely our notion of countable and uncountable.
What we can do is jump up a level to second order logic, and in that logic it actually is possible to have one unique interpretation of countable and uncountable sets so that there is a unique and countable set of naturals and a unique and uncountable set of reals, but second order logic comes with its own set of ambiguities and issues that for the most part mathematicians reject outright.
What exactly happens when you try to apply Cantor's diagonal argument to this model?
I guess that at some step, you get an answer like "outside of the model, yes this exists, but inside the model the answer is no", but I would like to see it precisely, how exactly the in-model reasoning diverges from the outside-model reasoning.