It will be less efficient to fetch data if you have a lot of space available for reuse. However, that space could be reused if you continue to insert or update documents in the collection.
If you've dropped a significant amount of data (which sounds like ~300GB in one of your collections) you can reclaim space by either:
For either approach I would use rolling maintenance to maintain availability.
A resync would be the most effective option. The compact
command is riskier to run as a replica set member may become stale while running compact
offline (and require resync); this operation may also not be able to free as much disk space as a resync and needs to be run per collection.