I believe since the latest update of VitalPBX to Asterisk 20.19.0 the caller ID behaviour is different.
Scenario 1 - Functioning as specified.
Follow Me enabled, ring All, external destination. The FROM parameter on outbound INVITE shows the original caller number
Scenario 2 - Changed
Inbound call to a ring group or queue. External member defined in group or virtual extension with external number in dial string as member.
The FROM parameter on outbound INVITE shows NO caller ID (or an overwritten caller ID when specified in the trunk/outbound route).
Scenario 3 - Looks OK
Inbound call to extension with CFI enabled shows the original CID.
Is there some trick I am missing?