In this particular case, it's just "add 3 to month value". 26 May -> 26 August. That will work for every month.
Copilot instead added 90 days, resulting in 24 August.
For what it's worth, C#, also made by Microsoft, has some logic in it whereby you can request the 31st of any month and it'll treat it as the last day of the month.
Edit: Although it DOES suffer from "rounding errors"!
new DateOnly(2025, 1, 31).AddMonths(2) returns 31 March, but
new DateOnly(2025, 1, 31).AddMonths(1).AddMonths(1) returns 28 March!