After searching a bit through the source code (tbf I never wrote Swift before, but their string → integer conversion is pretty easy to find), I haven’t really found any places in the code where the IDs would be parsed to an integer that doesn’t have some kind of fallback (most of them are let id = Int(url.lastPathComponent) inside an if-Statement, making them a refutable statement, I think(?).
The models treat them as strings, according to the model definition in their package. I might be totally wrong because I have 0 experience with Swift and I can’t really try it out either (no iOS devices)
Yes, this is mainly an Mastodon API-related issue. But this issue in general is relevant for multiple independent implementations though since this isn’t an issue for Kitsune but also for GotoSocial, Akkoma, etc. (essentially for any service that implements the Mastodon API that doesn’t use snowflakes encoded as 64-bit integers).
So this might be still a relevant topic for the wider ecosystem.