Yes, normal_order and normal_ordered_form are different: normal_order only changes the order of the operators and thus creates a new operator expression that is not equivalent with the original, while normal_ordered_form rewrites and operator expression to an equivalent expression on normal ordered form (which can contain a lot of new terms). I have tried to clarify this in the docstring.