AFAIR the guest additions's sharing feature doesn't work for the macOS varieties. On the other hand none of the mentioned options is necessary to get file sharing running.
The only thing needed is a proper network connection.
The most simple configuration: using the physical NIC of the host as bridged device in the guest. If the physical NIC is already connected to the internet, you don't even have to set up a NAT-network to get internet in the guest.
- Shut down the guest
- Open the config window of the guest in VirtualBox
- Chose network > adaptor 1
- Choose Bridge and the appropriate physical NIC of the host (usually en0 or en1) and hit the OK button
Now start the guest machine.
Open System Preferences > Network > bridged NIC on the host and make a note of the network settings (e.g. IP: 192.168.0.2/Mask: 255.255.255.0/Gateway: 192.168.0.1 DNS:192.168.0.1).
Open in the guest: System Preferences > Network > only NIC available which usually has a similar name as the physical NIC of the host (e.g. Ethernet - the interface name (en0, en1, etc.) may differ though).
Enter a different IP in the same network (e.g. IP 192.168.0.12). The rest stays the same (255.255.255.0/192.168.0.1 DNS:192.168.0.1)
Create a folder to share on the hosting Mac.
On the host switch to System Preferences > Sharing, enable file sharing, hit the +-sign and choose the folder created in the previous step.
In the guest open in the Finder > Go > "Connect to Server..." and connect to the hosting Mac with the proper IP (e.g. smb://192.168.0.2) and credentials.
This common approach didn't work out for the OP for unknown reasons. So things were reversed and a folder in the guest was shared. On the hosting Mac open in the Finder > Go > "Connect to Server..." and choose the IP of the guest (e.g. smb://192.168.0.12) and log-in with the proper credentials.
This worked after adjusting the time of the hosting Mac (it was off for ~8 minutes and Kerberos doesn't like this - server and client time should be in sync; AFAIR 5 minutes difference is acceptable).