Solving roots of negative numbers
Style
You've done a great job of style from a technical point of view.

You're following PEP-8 guidelines.
The functions have type-hints
The functions have docstrings

Defects:

The docstrings aren't very useful:
&gt;&gt;&gt; help(get_factors)

Help on function get_factors in module __main__:

get_factors(number: int) -&gt; List[List[int]]
    Returns all the factors of a number.

This doesn't explain what the factors are going to be.  A list of list of integers, yes, but no clue what that means, or to expect that [1, x] will be excluded.

the determine_factors method is a wall of code, with not a single comment insight describing how it is supposed to work.


is_perfect()
This is actually pretty close to perfect.  :-)
get_factors()
You are (without any indication to the caller) omitting [1, x] (should be at least mentioned in the docstring.
You are finding all factors from 2 up to (and including!) number, which means the last pair generated is [number, 1].  Why do you skip generating [1, number] by starting at 2, yet continue up to number + 1?
How does factors[:len(factors) // 2] remove duplicates, when it is using truncating integer division, and you can have an odd number of factor pairs?
Why bother generating the factor pairs if you are just going to discard half of them anyway?  Just iterate from 2 up to (and including) isqrt(number).  Way more efficient.
determine_factors()
I have no idea how this function works.  simplified += ... and remainder += ...?  Multiplication of factors is not additive, so this doesn't make sense.
Moreover, the function doesn't work.  -54 and -96 return nothing:
&gt;&gt;&gt; solve(-54)
&gt;&gt;&gt; solve(-96)

A better algorithm
Instead of computing all of the factors of number, determine the prime factorization of number.  For instance:
$$ \sqrt {96} = \sqrt { 2^5 * 3^1 } $$
Any odd power will result in that factor to the power of 1 under the square root.  After removing those, you've got primes raised to even powers, which can all be divided by two, and moved out from the square-root:
$$ \sqrt {96} = \sqrt { 2^4 } * \sqrt {2^1 * 3^1} = 2^2 * \sqrt {2^1 * 3^1} $$