What audio interface are you using?
FWIW - I reamp quite a bit and never have problems. I do not use the “External FX” feature to do this - I just set up a mono output buss to one of my D/A channels and route the Guitar DI track to it. I then track the amp as I would normally and everything is perfectly synced up (with the exception of the slight delay introduced by the distance between the mic and speaker etc).
I do use the External FX feature to insert hardware compressor’s and EQ’s almost constantly (and without issues). The round-trip delay for my D/A/D chain is typically around 1.86 ms @ 44.1 Khz. The delay that is compensated for is purely from the D/A and A/D converter latency - if your audio interface is not reporting the correct values for it’s true latency, things will not work as they should.
Last, how exactly are you exporting the audio out and back into the project since you appear to be using the External FX for this task? I will argue that my method of setting up a mono buss output to route the DI track out to the D/A -> amp makes more sense, but you should be able to use the External FX feature and have the tracks line up properly. Also, just to clarify - you are reamping guitar/bass DI tracks to a real amplifier and then recording a mic’d track?