You’re right about the type of grammatical structure. Typically it is used to refer to events in the present or future.
‘You could call him but he will probably have gone home’ : if you call him you may find that he has gone home.
‘We could go to his office but, by the time we get there, he will probably have gone home’ : he may be there now, but may well not be there when we arrive.
Both these statements involve uncertainty due to ‘probably’, but the use of this structure can be more assertive :
‘You could call him but he will have gone home’ : the expectation is that he won’t be there, but you cannot be sufficiently certain to say
‘You could call him but he has gone home’.
There is still a margin of uncertainty.
When the event is still in the future the structure is not used to allow uncertainty but to assert that something will happen :
‘ ‘We could go to his office but, by the time we get there, he will have gone home’ : he may be there now, but will not be there when we arrive.
We can’t say ‘. . by the time we get there he has gone home’ because, at the time of speaking, he has not yet gone home - it is still in the future.