After exploring the source code a bit I figured out a nice solution.
The idea is to use the underlying BackgroundClientJob object which exposes some nice extra features:
var hangfireClient = new BackgroundJobClient();
hangfireClient.ContinueWith(parentJobId,
() =>
DoDelayedBackgroundJob(),
new ScheduledState(executionDate));