I made this mistake when my DCat died. She’d moved to my DM’s house when very poorly, as she was very stressed around my DD1 (then aged two and a half). A few days later, I had to make the very sad decision to have her PTS, on the vet’s advice.
I let my DD think DCat was still at her Granny’s house and then avoided talking about what had happened. But obviously, we couldn’t go on pretending that she was still there, but I still couldn’t bring myself to tell her the truth.
I was then really surprised, and very relieved, when DD1 asked straight out whether DCat was dead. I guess she must have heard us talking about it. It certainly taught me an important lesson about being honest with her.
Your DS might already have heard you talking about his Grandad to other people. Or he’ll hear the truth from another family member, who assumes that he already knows.
Or if he hasn’t yet, he will do at some point, probably sooner rather than later. He really should hear the truth from you directly.
I wouldn’t worry too much about the Queen’s death, he’s going to find out anyway whether you tell him or not. Especially as we now have a King who has taken over from her! And he won’t think too much about that.