You can use LISTNUM fields if you want to put numbers somewhere else
than to the left of a paragraph. In particular, you can use LISTNUM
with the built-in LegalDefault list name if you want the "1.", "1.1.",
"1.1.1." format. (Unfortunately, there is no way to delete the
trailing period when using this built-in LISTNUM format.)
However, if you want the number to be in one position for the actual
heading and in another position for the table of contents, then you're
out of luck.
How to insert a LISTNUM LegalDefault field:
1. Remove outline numbering for each heading style.
2. Press CTRL+F9 to insert field delimiters: { }.
3. Within these delimiters, type LISTNUM LegalDefault.
4. Press F9 to display the field result.
5. Use copy and paste to create more occurrences of this field.
The numbering level should reflect the level of the heading style,
that is, all Heading 1 paragraphs get the 1, 2, 3, format; all Heading
2 paragraphs get the 1.1, 1.2, ... format, etc. If you want to
override this default behavior, or if it doesn't give you the expected
result (I know that it might not work within table cells, for
example), you can explicitly specify the numbering level by adding the
\l (lowercase "L") switch to the field code, or by simply displaying
the context menu for a LISTNUM field and then choosing "Increase
Indent" and "Decrease Indent", respectively.