X can have two ways of authorizing clients.
One way is using cookies; then you have to set DISPLAY=:0 and XAUTHORITY=/home/yourusername/.Xauthority.
In your case I assume it is done with xhost, otherwise setting DISPLAY would not be enough. Type xhost to see who is authorized.
Maybe you have an ~/.Xauthority cookie along with xhost +SI:localuser:toothrot authorization.
You can allow root to access display :0 with DISPLAY=:0 xhost +SI:localuser:root, but you have to do it as normal user. Using the cookie is the better way:
DISPLAY=:0 XAUTHORITY=/home/toothrot/.Xauthority notify-send hullo
To execute notify-send as user:
su toothrot -c 'DISPLAY=:0 XAUTHORITY=/home/toothrot/.Xauthority notify-send hullo'