fish not fork to execute subshells, so it is yet not possible to run fish script in the background - see https://github.com/fish-shell/fish-shell/issues/563
A hackish workaround is to invoke fish again, like so:
#!/usr/local/bin/fish
fish -c 'sleep 5 ; echo done' &