So this could be considered a bug, yes, but it's due to the way I calculate surface areas....I use a cheat that multiplies the local-space surface area of a mesh by the square of the length of the particle's scale. This provides a scale-relative approximation of surface area that doesn't require a recalculation of the value each time the particle's scale changes...but as you see in your example it can lead to some inconsistencies and isn't a good method if you need an exact surface area reading.
The reason for the cheat is that it makes it a lot faster to get the surface area of a lot of differently-scaled particles. For example: if I have a million particles sharing the same mesh, but each with a different non-uniform scale, I would have to do a million different surface area calculations to get a reading for all of them (and that involves iterating all their faces, which is slow). But using my method, I only need to calculate surface area once, and then quickly do the scale-multiplication cheat to get a rough idea of the surface area of each one. Since usually surface area is used to simply compare sizes of particles, this is enough....but as you can see in your example, it doesn't provide an exact value and when you scale flat surfaces along the z-axis, the returned value can be quite inaccurate. So there's a trade-off of speed vs accuracy, and in tyFlow's case I've chosen speed.
The reason for the cheat is that it makes it a lot faster to get the surface area of a lot of differently-scaled particles. For example: if I have a million particles sharing the same mesh, but each with a different non-uniform scale, I would have to do a million different surface area calculations to get a reading for all of them (and that involves iterating all their faces, which is slow). But using my method, I only need to calculate surface area once, and then quickly do the scale-multiplication cheat to get a rough idea of the surface area of each one. Since usually surface area is used to simply compare sizes of particles, this is enough....but as you can see in your example, it doesn't provide an exact value and when you scale flat surfaces along the z-axis, the returned value can be quite inaccurate. So there's a trade-off of speed vs accuracy, and in tyFlow's case I've chosen speed.