I thought on this a bit. And I do believe you are correct. Because as you note, he did in fact condition the space such that 1/3 is the correct answer and is stretching.

He goes on to say "Now this means that if we want to claim that the probability that the man has two boys is , what we are really claiming is that he is equally likely to inform us that he has at least one boy, in all situations where it is true, independent of the actual gender distribution of his children.
I would argue that this is quite unlikely, as if he has a boy and a girl, then he could equally well have told us that he has at least one girl, whereas he couldn’t tell us that if he has only boys".

I see this point but I think this example does not lend itself to explaining the notion of defining a good prior because it is such a simple scenario - it biases responses to focus on the absurdity and unnecessarily fretful complexification. And it opens the door to all sorts of subjective objections so that nothing can actually be said. For example I can say that given this guy is talking in riddles he likes being vague and will always give me just enough true information to keep things sane but interesting. Or given he is being wishy washy then he is a deviant trying to mess up my day, very likely he has 3+ kids. A more muddled scenario would have been better for similar reasons to why humans are the hardest to animate 'correctly' - no preconceptions to distract from the presentation.

Otherwise the maths is straight forward, we have been given a space to condition on: he has two kids and one of them is a boy. P( (B,B)) = 1/3 since (G,G) is eliminated. Giving a probability of 1/2 makes sense only when we are not given the key piece of information of at least one is a boy. The information we get tells us how we can construct our probability (sub)space.

Consider for example I met this strange man for the first time and see that he has a son and for some reason I know he has two kids. Then the probability of two sons is 1/2. This can be seen as the fact that knowing the gender of the kid I saw says nothing of the other kid's. If we whip out some probability spaces this can be seen by thinking in terms of {(M,F), (F,M), (F,F), (M,M)} X {1,2}. Where (M,F,1) is I met the older kid who is his son first. Or (M,M,2) is I met the younger son first.

Some time ago I wrote a simple finite probability space toy in F# to help in building probability intuitions by using simple spaces. Ill use it here because I think code can be clear.

let Z = cartesg ["MF";"MF"; "12"]
let S = definePSpaceSimp Z
let pboy = conditional (fun (x:string) -> x.[0] = 'M') S

let p2b =(conditional (fun (x:string) -> x.Contains("MM")) pboy).Space |> pboy.Pr

>
val S : ProbabilitySpace<string> =
{Space = set ["FF1"; "FF2"; "FM1"; "FM2"; "MF1"; "MF2"; "MM1"; "MM2"];
Pf = <fun:definePSpaceSimp@43>;
Pr = <fun:definePSpace@41>;}
val pboy : ProbabilitySpace<string> =
{Space = set ["MF1"; "MF2"; "MM1"; "MM2"];
Pf = <fun:filtrSpace@30>;
Pr = <fun:definePSpace@41>;}
val p2b : PositiveReals = 0.5

Thus we see the probability of the compound event: 2 boys given seen 1 boy is 0.5. This is because based on the information I got, the compound event I can define is very different from being given information - 2 kids, at least one boy: {(M,F), (M,M), (F,M)}

>EDIT: I find it interesting that a mathematical argument is downvoted. I would appreciate any flaws to be pointed out along with a downvote so I might correct my reasoning. Currently, I do not think I made any mistakes.