... I dream of something similar. I regularly get brooks in the same tile as a volcano, but not close enough to cause a "flat" volcano regularly. May I inquire about your technique to make canyon volcanos?
This embark produces river canyons quite regularly. It even allows you to pick what kind of river (minor, major, normal, etc) if you use it right, and north is up during worldgen.
[WORLD_GEN]
[TITLE:RIVER_CANYONS]
[DIM:33:33]
[EMBARK_POINTS:2500]
[END_YEAR:300]
[BEAST_END_YEAR:300:-1]
[REVEAL_ALL_HISTORY:1]
[CULL_HISTORICAL_FIGURES:0]
[ELEVATION:1:400:0:0]
[RAINFALL:100:100:0:0]
[TEMPERATURE:75:75:0:0]
[DRAINAGE:100:100:0:0]
[VOLCANISM:0:0:0:0]
[SAVAGERY:0:0:0:0]
[ELEVATION_FREQUENCY:1:1:1:1:1:1]
[RAIN_FREQUENCY:1:1:1:1:1:1]
[DRAINAGE_FREQUENCY:1:1:1:1:1:1]
[TEMPERATURE_FREQUENCY:1:1:1:1:1:1]
[SAVAGERY_FREQUENCY:1:1:1:1:1:1]
[VOLCANISM_FREQUENCY:1:1:1:1:1:1]
[MINERAL_SCARCITY:500]
[MEGABEAST_CAP:5]
[SEMIMEGABEAST_CAP:5]
[TITAN_NUMBER:5]
[TITAN_ATTACK_TRIGGER:0:0:100000]
[DEMON_NUMBER:11]
[NIGHT_TROLL_NUMBER:0]
[BOGEYMAN_NUMBER:0]
[VAMPIRE_NUMBER:0]
[WEREBEAST_NUMBER:0]
[SECRET_NUMBER:0]
[REGIONAL_INTERACTION_NUMBER:0]
[DISTURBANCE_INTERACTION_NUMBER:0]
[EVIL_CLOUD_NUMBER:0]
[EVIL_RAIN_NUMBER:0]
[GENERATE_DIVINE_MATERIALS:1]
[GOOD_SQ_COUNTS:0:0:0]
[EVIL_SQ_COUNTS:0:0:0]
[PEAK_NUMBER_MIN:0]
[PARTIAL_OCEAN_EDGE_MIN:0]
[COMPLETE_OCEAN_EDGE_MIN:0]
[VOLCANO_MIN:0]
[REGION_COUNTS:SWAMP:0:0:0]
[REGION_COUNTS:DESERT:0:0:0]
[REGION_COUNTS:FOREST:0:0:0]
[REGION_COUNTS:MOUNTAINS:0:0:0]
[REGION_COUNTS:OCEAN:0:0:0]
[REGION_COUNTS:GLACIER:0:0:0]
[REGION_COUNTS:TUNDRA:0:0:0]
[REGION_COUNTS:GRASSLAND:0:0:0]
[REGION_COUNTS:HILLS:0:0:0]
[EROSION_CYCLE_COUNT:999]
[RIVER_MINS:0:0]
[PERIODICALLY_ERODE_EXTREMES:0]
[OROGRAPHIC_PRECIPITATION:0]
[SUBREGION_MAX:2750]
[CAVERN_LAYER_COUNT:1]
[CAVERN_LAYER_OPENNESS_MIN:1]
[CAVERN_LAYER_OPENNESS_MAX:5]
[CAVERN_LAYER_PASSAGE_DENSITY_MIN:0]
[CAVERN_LAYER_PASSAGE_DENSITY_MAX:0]
[CAVERN_LAYER_WATER_MIN:20]
[CAVERN_LAYER_WATER_MAX:25]
[HAVE_BOTTOM_LAYER_1:1]
[HAVE_BOTTOM_LAYER_2:1]
[LEVELS_ABOVE_GROUND:10]
[LEVELS_ABOVE_LAYER_1:12]
[LEVELS_ABOVE_LAYER_2:20]
[LEVELS_ABOVE_LAYER_3:2]
[LEVELS_ABOVE_LAYER_4:2]
[LEVELS_ABOVE_LAYER_5:3]
[LEVELS_AT_BOTTOM:2]
[CAVE_MIN_SIZE:1]
[CAVE_MAX_SIZE:1]
[MOUNTAIN_CAVE_MIN:0]
[NON_MOUNTAIN_CAVE_MIN:0]
[ALL_CAVES_VISIBLE:1]
[SHOW_EMBARK_TUNNEL:2]
[TOTAL_CIV_NUMBER:3]
[TOTAL_CIV_POPULATION:100]
[SITE_CAP:20]
[PLAYABLE_CIVILIZATION_REQUIRED:1]
[ELEVATION_RANGES:0:0:0]
[RAIN_RANGES:0:0:0]
[DRAINAGE_RANGES:0:0:0]
[SAVAGERY_RANGES:0:0:0]
[VOLCANISM_RANGES:0:0:0]
[PS_EL:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400]
[PS_EL:400:400:400:400:400:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:400:400:400:400:400]
[PS_EL:400:400:400:400:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:400:400:400:400]
[PS_EL:400:250:150:148:146:144:142:140:138:136:134:132:130:128:126:124:122:120:118:116:114:112:110:108:106:104:102:100:100:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:299:100:299:400:400]
[PS_EL:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:299:100:299:400:400]
[PS_EL:400:400:400:400:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:100:400:400:400]
[PS_EL:400:400:400:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:400:400:400]
[PS_EL:400:400:400:100:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:400:400:400:400]
[PS_EL:400:400:299:100:299:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:400:400:400:400:400]
[PS_EL:400:400:400:100:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400]
[PS_EL:400:400:299:100:299:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:400:400:400:400:400]
[PS_EL:400:400:400:100:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:400:400:400:400]
[PS_EL:400:400:400:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:299:100:299:400:400]
[PS_EL:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:299:100:299:400:400]
[PS_EL:400:400:400:400:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:100:400:400:400]
[PS_EL:400:400:400:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:400:400:400]
[PS_EL:400:400:400:100:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:400:400:400:400]
[PS_EL:400:400:299:100:299:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:400:400:400:400:400]
[PS_EL:400:400:400:100:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400]
[PS_EL:400:400:299:100:299:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:400:400:400:400:400]
[PS_EL:400:400:400:100:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:400:400:400:400]
[PS_EL:400:400:400:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:150:400:400:400:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:250:400:400:299:100:299:400:400]
[PS_EL:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:100:400:400:400]
[PS_EL:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:299:100:299:400:400]
[PS_EL:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:400:100:400:400:400]
The way it works is, in the NW corner, there's a single valley, with declining elevations, this is (ideally) the start of the single river that winds it's way through the world. At each north-south run, there are two points at which adjacent rivers are permitted to join the main river. This is where river canyons are formed.
The trick is, these join points are quite high (elevation 299) to ensure river canyons that are steep & many Z-Levels.
In the elevation map, wherever there is a set of these values (299:100:299) that's where a steep-walled river canyon will form. If you add an additional volcanism map, placing a volcanism value of 100 on that center region, in between the 299's, creates a new river source, because the volcano creation pushes up the elevation so high, the river can't flow normally past this point any more.
If you reduce the elevation below 100 or above 299, it seems like worldgen ignores these as potential rivers entirely. I tried setting the elevation to 1 or 99, with 100 volcanism, and volcanos formed there, but no rivers.
So, I'm not sure there's a quick and easy answer. I know it's possible to get the rivers to run close to flat volcanos. The problem is, I think flat volcanos are an anomaly, related to elevation meshes "keeping them down" to lower elevation levels. As such, I'm not sure custom elevation maps are the only piece to the "low-elevation flat-volcano" embark puzzle.
But once that's figured out, the next step will be to combine those conditions with a low elevation river and a high elevation river, to have river-canyon-volcanos.