Should ERC721 mint functions use the nonReentrant modifier?

I saw some ERC721 contracts in the wild which use the nonReentrant modifier for simple minting functions. So for example take following code (which comes straight from OpenZeppelin wizard):

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract MyToken is ERC721, ERC721URIStorage, Ownable {
    constructor() ERC721("MyToken", "MTK") {}

    function safeMint(address to, uint256 tokenId) public onlyOwner {
        _safeMint(to, tokenId);
    }

    // The following functions are overrides required by Solidity.

    function _burn(uint256 tokenId) internal override(ERC721, ERC721URIStorage) {
        super._burn(tokenId);
    }

    function tokenURI(uint256 tokenId)
        public
        view
        override(ERC721, ERC721URIStorage)
        returns (string memory)
    {
        return super.tokenURI(tokenId);
    }
}

Do you advise to use the nonReentrant modifier in the safeMint function above?

I don't see any benefit to using this modifier here. It would increase the gas cost with no clear advantage.

IMO, using nonReentrant should be a protection against an attack scenario. Here your function is already onlyOwner reentrancy, if possible (owner would have to be a contract) would just mean that the owner can trick the contract into minting multiple tokens in a way that is already possible anyway.