Moving Log Category Macros breaks Unreal Header Tool

I didn’t like where I placed my Log Category Declaration Macros, these were working just fine in their original files, but I’d create circular dependencies if I let those macros stay there, so I moved

PRESENTATIONEFFECTS_API DECLARE_LOG_CATEGORY_EXTERN(LogPresentationEffects, Log, All)

and

DEFINE_LOG_CATEGORY(LogPresentationEffects)

from A.h/A.cpp to B.h/B.cpp, respectively.

The Unreal Header Tool did not like this, and spit out a warning before exiting early:

1>D:\git repositories\UE5_TPController\Plugins\PresentationEffects\Source\PresentationEffects\Public\PresentationEffectHandlerBase.h(20): warning : The identifier 'GENERATED_BODY' was detected in a block being skipped. Was this intentional?

I tried a lot of ideas to fix this, but all that works is moving those log macros back into A.h/.cpp. How can I move my Log Category declarations without making Unreal Header Tool exit early?