You should be using text IDs in those cases. Numeric IDs are no longer consistent across versions. Also, vanilla's format still actually uses strings in the palette, not numeric IDs; they use the palette to avoid storing lots of strings redundantly though. (Packets use numeric IDs, but they have a very specific context where the IDs are known. And these IDs aren't the same as they were before).