With grep specifically (assuming it is compiled with libpcre):
grep -Po '^.*\b(?=\.bugbountytarget\.com$)' domainlist.txt
This just looks for the target at the end, in a forward lookahead (not a part of the match) and then prints the match.
With awk, no regular expressions needed (faster but you'll only notice with a massive file):
awk 'index($0, ".bugbountytarget.com") == length($0) - 19 {
print substr($0, 1, length($0) - 20)
}' domainlist.txt
This looks for a substring (the target domain), ensures it's at the end of the line, then prints it without the target. Lengths matter.
With sed:
sed '/\.bugbountytarget\.com$/!d; s///' domainlist.txt
This finds lines that end with a literal .bugbountytarget.com
and then it substitutes that last match with an empty string and prints that out.
sed -e 's/.bugbountytarget.com//g' domainlist.txt
$
or else it'll convertoops.bugbountytarget.com.au
intooops.au
. It'll also show all non-matching entries without modification, which I assume is undesirable.