No, approximate because the amount of characters in the file name is part of the available space.
The most that can be stored in a "normal" 1024 bytes $MFT (on 512 bytes/sector) is EXACTLY 744 bytes with a filename consisting of a single character and no extension, I posted a formula to calculate this exactly in the given link.
Additionally, the exact way the file is created may (or may not) lower the limit by 8 bytes.
Same goes for 4K $MFT records (on 4 KB/sector) the EXACT maximum is 3776 bytes, but it will be normally a little less.
The $MFT won't shrink, of course, its size is pre-determined when you create (format) the NTFS filesystem and is usually (largely) enough.
But it will grow if needed, so, if you create on purpose a smallish $MFT, then fill it with a zillion little files (no matter if they become $MFT resident) and you later delete them the $MFT will grow and remain larger.
If you want to have the smallest possible NTFS, you can create a very small volume, enlarge it to the desired size, then copy to it all the files from a volume where they were already pruned/deleted.
Like it is done to have a contiguous-contiguous filesystem extent for large files:
This way the pre-created $MFT won't be large enough to index all the files (resident or not resident) and it will grow little by little to the "minimum needed" size.
Depending on the overall size of the volume, this may well result in a noticeable difference in the available space, but most probably also compression will be (slightly) better.