Grabbing & releasing with dragons

I’m planning a combat situation with a dragon and trying to understand the dragon’s alternative attack options. One of the strategies would be to grab and attempt to drop players from height.

So far this is how I’m thinking about ruling it:

  1. The dragon would have to initiate a successful grapple action and then move with their movement adjusted down depending on size difference.

  2. After rising they could then choose to drop the player as their free action for that round.

  3. To prevent being dropped I’m assuming that the player will attempt to hold on and hence it could be ruled as a DEX-save.

Assuming the player holds on, what options are there for the dragon to "shake" the player off?

  1. They could attempt to regrapple.

  2. They could use their base attack at the player. Would that include a chance of the player falling down if hurt?

  3. Could they initiate a specific action to drop the player? I’m guessing they could choose for this to be either a STR or DEX contest?

Would appreciate any guidance on how to rule the idea of dragon trying to drop a player from height.