Underline decoration is an attribute of a text. Trailing spaces are not the text exactly. We do not draw them and we do not decorate them (leading spaces and spaces in the middle of the text are treated as normal text, though).
If you are talking about a single-line text you can use non-breaking space instead: 0x00A0.
const char16_t* text = u"Hello\u00A0\u00A0\u00A0";
Then you will have your trailing spaces underlined.
It will not work for multilined text though, since non-breaking space is non breaking and does not break the line.
I can only confirm that maxIntrinsicWidth works as it's defined for Flutter whether it seems logical or not.