The listing of Dynamic System Variables on the MySQL Reference Manual’s page is supposed to show those variables you can change on-the-fly.
innodb_data_home_dir is listed there as a dynamic variable, but it is not one, and trying to change it on-the-fly doesn’t work:
mysql> set global innodb_data_home_dir=”/data/mysql/data”;
ERROR 1193 (HY000): Unknown system variable ‘innodb_data_home_dir’
mysql> set session innodb_data_home_dir=”/data/mysql/data”;
ERROR […]