You will need to login to your account on a PS4 for Destiny 2 to recognize that your account owns the license on that platform, but why do you think you need to own Shadowkeep on PSN in order to access the content on Xbox?
You would only need to own the DLCs on the platform that you are playing on. If you no longer play on PS4, then you do not need to purchase any of the content for PS4. You would only need to own the content on Xbox, as that is where you are playing. Provided that you have your cross-save setup accurately, whatever expansions you purchase on Xbox, will be available for use with your cross-saved PS4 save data.