You have to use the MentionSegment in order for the @Mention to work.  See this page for an example: [https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/connectapi_examples_post_feed_element_mention.htm][1]


    ConnectApi.FeedItemInput feedItemInput = new ConnectApi.FeedItemInput();
    ConnectApi.MentionSegmentInput mentionSegmentInput = new ConnectApi.MentionSegmentInput();
    ConnectApi.MessageBodyInput messageBodyInput = new ConnectApi.MessageBodyInput();
    ConnectApi.TextSegmentInput textSegmentInput = new ConnectApi.TextSegmentInput();
    
    messageBodyInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();
    
    mentionSegmentInput.id = '005RR000000Dme9';
    messageBodyInput.messageSegments.add(mentionSegmentInput);
    
    textSegmentInput.text = 'Could you take a look?';
    messageBodyInput.messageSegments.add(textSegmentInput);
    
    feedItemInput.body = messageBodyInput;
    feedItemInput.feedElementType = ConnectApi.FeedElementType.FeedItem;
    feedItemInput.subjectId = '0F9RR0000004CPw';
    
    ConnectApi.FeedElement feedElement = ConnectApi.ChatterFeeds.postFeedElement(Network.getNetworkId(), feedItemInput, null);



The feedItemInput.subjectId is where you set the parent ID.
  [1]: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/connectapi_examples_post_feed_element_mention.htm