Actually, I think it works fine on Android as well. Try this test app: https://kevin.tw I've purposely created the manifest with a Data URL for demo purposes.
That said, there is a drawback with the Data URL approach that is worth mentioning: If you change the manifest after installation, the installed app won't update accordingly. I've edited the article to reflect this.
For the record, this makes no difference on Safari/iOS given that even with a regular URL, none of the fields of the manifest will update anyway.
On Desktop Chrome, the "name", "short_name", "icons" and "start_url" fields of the manifest will never change in an installed app -- whether the manifest uses a Data URL or a static URL. And same on Android, for "name", "short_name" and "icons" (source: https://web.dev/manifest-updates/)
Unfortunately, these are the fields that a developer will most likely want to change after installation.
Using a Data URL for the manifest is not standard nor future proof. That's why at Progressier all manifests are dynamically generated server-side instead. But in practice, in 2022, this makes virtually no noticeable difference at all...