To me it makes no sense that Gibraltar (and other examples previously) are not allowed to play at home. There is no valid reason for blocking this. If you allow their clubs to enter the tournament then you should allow them to play at home. If opponents refuse, they can forfeit a 2-0 walkover or whatever.
I'd take it a step further and say the same for any club not being able to play in their home stadium, let alone their home country (although in the case of Gibraltar's clubs it is of course one and the same). And the concept goes double for any international team (Kosovo's clubs seem to be allowed to play in Kosovo but their national team are not right now, for some reason).
The most obvious example in recent years is Ludogorets Razgrad having to play over 300km away in Sofia for their continental games, or Dundalk playing most of theirs in a slightly bigger stadium in Dublin, if it was their own choice to get more revenue then fair enough, but in a lot of these situations smaller clubs are forced to play elsewhere on a more neutral ground because their stadium doesn't have enough VIP seats or 'bright enough' floodlights etc. Short of a security risk no decisions like this should be out of the club's hands, if they want to invite their illustrious guests to their sub-standard stadiums then brilliant, proper FA Cup stuff etc., one of football's little pleasures seeing a scenario like that.
As for the situation with Gibraltar's clubs, I originally thought Victoria Stadium was getting redeveloped or something, it still is (GFA have taken ownership and are compensating other sports by building a multi-sport facility at Europa Point)
but apparently the reason for these CL games being moved to Portugal is because Victoria Stadium now has a worse-condition pitch and more teams using it now for continental games than last season (3 rather than 2, which for a stadium that hosts every single league and cup game of all Gibraltar's clubs each season I don't think is going to have much of a difference)