If I understand correctly, you can use the following expression. Either as a *Geometry Generator* symbol layer (on Layer B) or by using the *Geometry by Expression* geoprocessing tool if you wish to create a new layer with the results (used also on Layer B).

```expression
-- find the intersection of the line layers and assign it to a variable
with_variable('i',
	intersection(
		aggregate('Layer A', 'collect', @geometry),
		@geometry
	),
	
	-- get the distance of the intersection along Layer B's geometry
	with_variable('dist_along', 
		line_locate_point(@geometry, @i),
		
		-- whether or not you need all / some / just one of these is not clear, but you can modify as necessary
		-- if ony one is needed then the collect_geometries function can be omitted
		collect_geometries(
			-- 100 before the intersection
			line_interpolate_point(@geometry, @dist_along - 100),
			
			-- 100 m after the intersection
			line_interpolate_point(@geometry, @dist_along + 100),
			
			-- the point of intersection
			@i
		)
	)
)
```

[![enter image description here][1]][1]


  [1]: https://i.sstatic.net/wjV94I2Y.png