Method for formatting a decimal number in Python using the given maximum number of digits and decimal places
Your code looks quite good to me. Good structure, consistent naming, appropriate documentation.

There are just some small ideas I would like to offer to you. Since your question is specifically tagged for Python 3, you might make use of the new f-string synthax instead of format. So your error messages would become something like

raise TypeError(
    f"The value '{value}' is not a valid decimal number."
)


which I think looks even nicer. I also replaced the outer ' with " so one does not have to escape the inner ' with backslashes.

The last error message could use the same tricks and could also utilize implicit line continuation in function parenthesis instead of manual line continuation triggered by \. This would ultimately lead to the following snippet:

raise ValueError(
    f"After formatting, the number of digits in the value '{rounded_down}' "
    f"is {rounded_down_digits_length}, which exceeds the maximum number of "
    f"digits of {max_digits}."
)


I was thinking about to address the idea of adding doctests to your code, but you have added this feature in an edit that took place while is was writing this up. So consider this to be done.