Your AutoCorrect file gives the expected results if is is in the user paths (.config/libreoffice/…) but fails when I put it in the internal paths (/user/lib64/libreoffice/…). Note I changed the name from acor_en-US.dat to custom_en-US.dat*.
I wonder if there is a conflict with built-in :^-:
and :^e:
entries. It is probable that these “long” patterns hide your shorter ones. When you file is in the user paths, it takes precedence over factory rules. But when you put the custom file in the internal paths, Writer sees two dictionaries at the same file level. Even if contents don’t overlap, I don’t know which one chosen or in which order they are considered.
I retried by “parking” factory acor_en-US.dat and using your file with this name. In this case, your entries work as expected.
Apparently (I can’t assert it for sure 100%), you can have only a single AutoCorrect language file in the internal paths (i.e. a single *_en-US.dat). Consequently, you must merge your additions into the factory file. Otherwise, copy your custom file in every ~/.config/libreoffice/… account directory.