It's probably just going off of the default Kentico behavior, if there is a "ModifiedByUser" field specified for the class type then it will use whomever updated it, in other words, you.
If you want to change this, you can look to create a Hook for that object's update, and after update (or try to catch the before) set the "Modified" user to the Created User's ID.
https://docs.kentico.com/k8/custom-development/handling-global-events
https://docs.kentico.com/k8/custom-development/handling-global-events/reference-global-system-events
Specifically the <name>Info.TYPEINFO.Events.Update.Before/After events, i believe you want ForumPostInfo.TYPEINFO.Events
Try the below
using CMS.Base;
using CMS.DocumentEngine;
using CMS.Helpers;
using CMS.Membership;
[CustomDocumentEvents]
public partial class CMSModuleLoader
{
/// <summary>
/// Attribute class that ensures the loading of custom handlers.
/// </summary>
private class CustomDocumentEventsAttribute : CMSLoaderAttribute
{
/// <summary>
/// The system executes the Init method of the CMSModuleLoader attributes when the application starts.
/// </summary>
public override void Init()
{
CMS.Forums.ForumPostInfo.TYPEINFO.Events.Update.Before += Update_Before;
}
private void Update_Before(object sender, CMS.DataEngine.ObjectEventArgs e)
{
// Ensure the original post user id remains.
int postID = ValidationHelper.GetInteger(e.Object.GetValue("PostId"), -1);
var originalPost = CMS.Forums.ForumPostInfoProvider.GetForumPostInfo(postID);
int newUserID = ValidationHelper.GetInteger(e.Object.GetValue("PostUserID"), -1);
int originalUserID = originalPost.PostUserID;
if (originalUserID > 0 && originalUserID != newUserID)
{
e.Object.SetValue("PostUserID", originalUserID);
}
}
}
}