It's always the "tariff miles" that govern FF miles and points -- they are only roughly approximate to the actual distances shown on Great Circle Routing maps, and even less comparable to the actual mileage flown on a given flight (which is almost always longer than the GCR).
So, in this case, the roundtrip tariff miles = 19,066, the figure you have from SQ. That's vanilla Y -- no bonus miles, but a fare that accrues 100% of the tariff miles for every mile flown as its FF earn.
The VS mileage might reflect a discounted economy fare. Many such fare buckets do not earn 1 mile credit for every mile flown.
We'd have to know more to answer that. Keep in mind that VS doesn't actually fly LHR - SIN: it's a code-share on SQ. But I don't know if that would help account for the difference in FF credits.