Well, there "is" a "way"...
But it would be very convoluted, error-prone and limited to specific use-case. So only try it if you really cannot wait until you got past the save...
It amounts to, basically, calling/injecting the pathauto.generator service (on 8.7, it may have changed name since 8.8) and the token service then...
a) Requesting the appropriate pathauto configuration for your current entity with $pathautoGenerator->getPatternByEntity (unless I'm mistaken, you have an $entity in pre_save, and this method does not care that you have an id or not, it just needs to query entitytype and bundle).
b) Recreating the string that corresponds to alias by reading that config then using the appropriate fields values to reconstruct (or if easier for you using $tokenService->replace with $string being the pattern, $data being ['node' => $yourNode]).
If obviously won't work if you're actually using in your pattern any metadata that is yet to be filled on pre-save (which means on a brand new entity, at least nid, vid and uuid).
Honestly I feel that this would be a "glorified hack" (with "raw hack" being writing everything without even trying to rely on pattern configuration XD).
So I'd use it only until I found better way to go or managed to get rid of that "need to get alias before entity is saved" (like put a big @todo / @fixme "refactor or remove ASAP").
If this is a common need for you in your whole site, you may question whether best for later maintenance/evolution is...
- keeping using Pathauto or...
- "building up custom alias generator/manager".
Hope that helps. :)