@Thomas Kelly Thanks for reaching here!
Yes, you are correct. Azure Notification Hubs limits the size of each push notification to 4 KB.
This means that the number of characters you can send in a push notification will depend on the size of each character.
For example, if you are sending only ASCII characters, you can send up to 4,000 characters in a single push notification. However, if you are sending Unicode characters, which require more bytes to represent each character, you will be able to send fewer characters in a single push notification.
Also as its mentioned here- https://learn.microsoft.com/en-us/azure/notification-hubs/voip-apns#considerations
Notification Hubs limits APNS payloads to 4 KB, as documented by Apple. For VOIP notifications, Apple allows payloads up to 5 KB. Notification Hubs does not differentiate between standard and VOIP notifications; therefore, all notifications are limited to 4 KB. To send VOIP notifications, you must not exceed the 4-KB payload size limit.
Further Suggest you to refer to this link for creating the JSON payload
Documentation for payload size limit.
let us know.