OK, I finally got this to work. The combination of settings that proved effective were:
I changed the PHP_INI_SCAN_DIR from the recommended combination of two paths as shown in my original post to simply "C:\home\site\ini". The first time I tried this, the site wouldn't reload, but this time it worked. This was confusing as some docs showed a web path with forward slashes and some a drive path with drive letter and backslashes. Perhaps some of the docs were for Linux on Azure instead of Windows.
I also created a copy of the DLL file in a /bin directory under wwwroot, as suggested in the Azure docs. Other docs have said that since it was already included in the installed PHP libraries (which I confirmed) that wouldn't be necessary. However this did work.
I set the extension setting to an absolute path instead of just naming the extension: extension=/home/site/wwwroot/bin/php_ftp.dll (not a drive path here, oddly)
Anyway, it finally kicked in.