I have Destiny 2 and the Forsaken expansion for PC, but I also like to play it on Xbox One. I have cross save set up, so I can access my character from either console, but I have not bought Forsaken for Xbox One. Would I have to buy Forsaken and/or Shadowkeep for both consoles?
You will be able to use your character on Xbox with all your DLC gear already earned while playing on PC but you will not be able to do any of the DLC activities that you don't own on Xbox.
So you will not be able to do any Forsaken story missions, Last Wish raid, shattered throne dungeon or exotic quests etc on Xbox.
Likewise for Shadowkeep, so no Sundial, Nightmare Hunts, Garden of Salvation raid or Pit of Heresy dungeon.
Basically you will be able to do the free content in New Light only unless you buy the DLC again on your second platform.