I've never used ffmpeg for resizing, but I do have a fair bit of experience with nearest neighbor elsewhere. The most important question here is: what resolution are you resizing to?
Due to the nature of the nearest neighbor, it will produce uneven pixel sizes if the destination dimensions aren't multiples of the respective source dimensions. This is because it doesn't interpolate colors between pixels, so each destination pixel is going to be the same color as an appropriate source pixel.
I'm probably not the best at explaining this, but here's an attempt at an example: Assume you have a source frame that is 100 pixels wide. If your destination width is 200 (a factor of 2), each source pixel becomes two destination pixels. In this case, the width is doubled and the sharpness of the original image is retained.
If your destination width is 150 pixels width (a factor of 1.5), each pixel becomes 1.5 destination pixels. This means the first destination pixel uses the first source pixel, but the second destination pixel is half of the first source pixel and half of the second source pixel. Because the filter only uses the exact colors from the source, it will have to choose one of these two (the nearest neighbor) to place there. This results in uneven pixel sizes.
There are a couple of solutions here (though I'm not sure how they translate into ffmpeg) that might help:
1 - Resize the width and height by the same integer (4x, for example) and then set a 4:3 AR flag on the file (AR flags don't change the video data, but instead tell the player to stretch the video upon playback).
2 - Resize the width and height by separate integers that result in the correct aspect ratio. If you want 256x224 to play at 4:3, you can use 7 and 6 respectively. This gives 1792x1344, which is 4:3 and would have consistent pixel sizes.
This tool may help you calculate the integers for this process.
3 - Resize the width and height (using nearest neighbor) by integers to a resolution that is higher than the resolution you wish to display at, then resize via Lanczos down to the destination resolution. For example: Resize 256x224 to 1536x1120 via nearest neighbor, then to 1440x1080 via Lanczos. This introduces a pixel's worth of blur to the resulting image, but can target any resolution.
There are likely other solutions too.