Unsure what the problem was directly, but the solution was to copy the object and then mutate the following key.
const [profile] = await getProfile(session.user.id);
if (profile.messageCount < MAX_MESSAGES) {
const newProfile = {...profile, messageCount: profile.messageCount + 1 };
await updateProfile(session.user.id, { messageCount: newProfile.messageCount });
}