What's wrong with my logic in my adder-subtractor?
-7 = 1111


In 4-bit two's complement, -7 would be found by inverting 0111 to get 1000. Then add 1 to get 1001.

So 1001  is indeed the representation of -7 in your system.

1111 is the representation of -7 in 4-bit sign-magnitude so that might be where you got mixed up.