My workaround is to patch the Plugin::Instance.activate!
method.
Locate the code:
https://github.com/discourse/discourse/blob/v1.9.0.beta17/lib/plugin/instance.rb#L458-L459
Replace it with the code:
Discourse::Utils.execute_command('rm', '-rf', target)
begin
Discourse::Utils.execute_command('ln', '-s', public_data, target)
rescue
Discourse::Utils.execute_command('cp', '-r', public_data, target)
end