Thanks Quinn @DTS Engineer,
It was my fault I should have been more clear about my scenario.
My Scenario
The app is not opened by the user.
Mac app is woken by silent remote notification (no UI presented) (https://developer.apple.com/documentation/usernotifications/pushing-background-updates-to-your-app)
Explanation
My macOS app is fully closed
I don't tap on the macOS app icon
The macOS app listens to (silent notifications, no UI notification) remote notifications for data update.
When the macOS app receives this notification, the app is woken up however no UI is presented (as expected) and calls application(_:didReceiveRemoteNotification:)
Summary
For macOS app the debug logs inside application(_:didReceiveRemoteNotification:) are not called when app is closed and is woken by silent notifications.
I know the macOS app is woken up because the data refresh happens, just that that the logs are not visible in the console.
However for iOS app the debug logs inside application(_:didReceiveRemoteNotification) async -> UIBackgroundFetchResult are visible in the console app.