@sync is not working

Hi - agree that it may not be so intuitive but @sync only works when it wraps @async calls directly, i.e. there cannot be function boundaries between them.
Instead, remove all @async from your init() functions and instead place them directly within the @sync block.
Like

@sync begin
  @async …
  @async …
  …
end