yes the id is right i have checked many times when you buy it trys to sell you a model nothing in output
local id= 4154376
local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
game:GetService("MarketplaceService"):PromptPurchase(player,id)
end)

2 comments
https://www.robloxdev.com/api-reference/function/MarketplaceService/PromptGamePassPurchase
just replace PromptPurchase to PromptGamePassPurchase